![]() |
UNIVERSIDAD PILOTO DE COLOMBIA SECCIONAL ALTO MAGDALENA GIRARDOT |
|
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
||
ESTRUCTURA DE DATOS En programacion, una estructura de datos es una forma de organizar un conjunto de datos elementales (un dato elemental es la minima informacion que se tiene en el sistema) con el objetivo de facilitar la manipulacion de estos datos como un todo o individualmente.
ARRAYS » El array es una de las estructuras de datos mas ampliamente utilizada por su flexibilidad para derivar en complejas estructuras de datos y su simplicidad » Un array es una secuencia de elementos, donde cada elemento (un grupo de bytes de memoria que almacenan un unico item de datos) se asocia con al menos un indice (entero no-negativo) » Cada elemento ocupa el mismo numero de bytes; el numero exacto depende del tipo de datos del elemento. » Todos los elementos son del mismo tipo. » El numero de indices asociados con cada elemento es la dimension del array Clasificacion » El tipo de array mas simple tiene una dimension: cada elemento se asocia con un unico indice. » En C++ un array se crea: Tipo nombre_Array [Tamaño]; Ejemplo: int arreglo[15]; » En Java un Array se crea: Tipo [] nombre_Array = new Tipo [Tamaño]; Ejemplo: int [] arreglo = new int [15]; Un array de dos dimensiones, tambien conocido como tabla o matriz, donde cada elemento se asocia con una pareja de indices, es otro array simple. » En C++ se crean: Tipo nomble_array [Tamaño][Tamaño]; int arreglo[15][15]; » En Java se crean: Tipo nombre_array[][]=new Tipo[Tamaño][Tamaño] int array[][] = new int[100][1000];
» Es una estructura de datos, formada por yuxtaposicion de elementos que contienen informacion relativa de un mismo ente. » A los elementos que componen el registro los llamamos campos, cada uno de los cuales es de un determinado tipo, simple o estructurado. Los campos dentro del registro aparecen en un orden determinado y se identifican por su nombre. » Para definir el registro es necesario especificar el nombre y tipo de cada campo. Son tipos de datos simples capaces de almacenar la posicion de una variable en memoria principal. Se dice que ellos direccionan a otras variables.
Corresponde a una estructura lineal compuesta por una coleccion de datos homogeneos con alguna relacion entre ellos. Dicha estructura se crea a traves del metodo dinamico de memoria. Las listas enlazadas se clasifican en: » Listas lineales simplemente enlazadas » Listas circulares » Listas doblemente enlazadas » Listas multiplemente enlazadas Una lista lineal simplemente enlazada es una estructura en la que el cada elemento enlaza con el siguiente. El recorrido se inicia a partir de un puntero ubicado al comienzo de la lista. El ultimo elemento (nodo) de la lista apunta a una direccion vacia que indica el fin de la estructura. Una lista circular es una lista lineal en la que el ultimo elemento enlaza con el primero. Entonces es posible acceder a cualquier elemento de la lista desde cualquier punto dado. VENTAJAS Y DESVENTAJAS DE LAS LISTAS CIRCULARES » La ventaja de este tipo de estructura es que siempre se puede llegar a cualquier nodo siguiendo los enlaces. » La desventaja es que si no se tiene cuidado una busqueda puede resultar en un bucle infinito. Esto se puede evitar al determinar a un nodo como nodo-cabeza o nodo inicial. » Una lista doblemente enlazada es una lista lineal en la que cada elemento tiene dos enlaces, uno al elemento siguiente y otro al elemento anterior. Esto permite recorrer la lista en cualquier direccion.
VENTAJAS DE LAS LISTAS DOBLEMENTE ENLAZADAS » Una ventaja que tienen es que pueden recorrerse en ambos sentidos, ya sea para efectuar una operacion con cada elemento o para insertar/actualizar y borrar. » La otra ventaja es que las busquedas son algo mas rapidas puesto que no hace falta hacer referencia al elemento anterior. Su inconveniente es que ocupan mas memoria por nodo que una lista simple. LISTAS MULTIPLEMENTE ENLAZADAS Este tipo de listas contiene mas de dos enlaces por nodo, los que tienen la posibilidad de apuntar a mas de dos LISTAS ENLAZADAS. » La PILA es quiza la estructura de datos comun con un acceso mas restrictivo, y sin embargo es quiza tambien la mas usada en el funcionamiento diario de cualquier programa de computo. » A las PILAS se les conoce en la literatura como estructuras LIFO por sus siglas en ingles (Last In - First Out), que quiere decir, que el ultimo que entro es el primero que sale. De ahi el consabido dicho de "Los ultimos seran los primeros". Una buena implementacion de pila debe de tomar en cuenta dos puntos. El primero es que no debe permitir el remover un dato cuando la pila esta vacia, y el segundo es que no debe permitir que se inserten datos a la pila si esta ya esta llena. » Las COLAS, al igual que las PILAS, son una estructura de datos de acceso restrictivo. » La diferencia entre una cola y una pila es que en la cola (como en una cola para comprar boletos), el primero que llego es al primero que se atiende, es decir, una cola tiene un inicio y un final, los nuevos elementos que llegan se agregan al final de la cola, cuando se remueve un elemento, se remueve del inicio de la misma. » A las COLAS se les conoce como estructuras FIFO (First In - First Out), que quiere decir que el primero que entra, es el primero que sale.
|
||
Jose Said Uricoechea Sandoval - Jose Roberto Reyes - Elkin Espinosa Ingenieria de Sistemas VI Semestre |
||