sábado, 1 de noviembre de 2008

Conceptos, Características y Ejemplos de Estructuras de Datos

Concepto de Arreglos:
Es un conjunto de datos o una estructura de datos homogéneos que se encuentran ubicados en forma consecutiva en la memoria RAM (sirve para almacenar datos en forma temporal).
Un arreglo puede definirse como un grupo o una colección finita, homogénea y ordenada de elementos. Los arreglos pueden ser de los siguientes tipos:

De una dimensión.
De dos dimensiones.
De tres o más dimensiones.
Características:
1- Los Arreglos o Array tienen tres formas de indexación las cuales son: Indexación base-cero (0), Indexación base-uno (1), Indexación base-n (n).
2- Son usados en programas como: Java, Léxico, Visual Basic, C, C++, y Pearl:
Ejemplos:


Concepto de Pilas:
Una pila, es una estructura de datos en la que el último elemento en entrar es el primero en salir, lo que también se denominan estructuras LIFO (Last In, First Out).
Se aplica en multitud de ocasiones en informática debido a su simplicidad y ordenación implícita en la propia estructura.
Para el manejo de los datos se cuenta con dos operaciones básicas: apilar (push), que coloca un objeto en la pila, y su operación inversa, retirar (o desapilar, pop), que retira el último elemento apilado.
Características:
1- Evaluación de expresiones en notación postfija (notación polaca inversa).
2- Reconocedores sintácticos de lenguajes independientes del contexto.
3- Implementación de recursividad.
Ejemplos:

Concepto de Colas:
Una cola es una estructura de datos, caracterizada por ser una secuencia de elementos en la que la operación de inserción push se realiza por un extremo y la operación de extracción pop por el otro. También se le llama estructura FIFO (del inglés First In First Out), debido a que el primer elemento en entrar será también el primero en salir.
Características:
1- Las colas se caracterizan por ser circulares, de prioridad, bicolas, bicolas de entrada restringida y de salida restringida.
2- Permiten añadir un elemento, eliminar un elemento y devolver un elemento primario de entrada.
Ejemplos:





Concepto de Listas:
En Ciencias de la Computación, una lista enlazada es una de las estructuras de datos fundamentales, y puede ser usada para implementar otras estructuras de datos. Consiste en una secuencia de nodos, en los que se guardan campos de datos arbitrarios y una o dos referencias (punteros) al nodo anterior y/o posterior. El principal beneficio de las listas enlazadas respecto a los Array convencionales es que el orden de los elementos enlazados puede ser diferente al orden de almacenamiento en la memoria o el disco, permitiendo que el orden de recorrido de la lista sea diferente al de almacenamiento. Una lista enlazada es un tipo de dato auto referenciado porque contienen un puntero o link a otro dato del mismo tipo.
Características:
1- Las listas enlazadas permiten inserciones y eliminación de nodos en cualquier punto de la lista en tiempo constante, pero no permiten un acceso aleatorio.
2- Existen diferentes tipos de listas enlazadas: Listas enlazadas simples, listas doblemente enlazadas, listas enlazadas circulares y listas enlazadas doblemente circulares.
3- Pueden ser implementadas en muchos lenguajes. Lenguajes tales como Lisp y Scheme tiene estructuras de datos ya construidas, junto con operaciones para acceder a las listas enlazadas. Lenguajes imperativos u orientados a objetos tales como C o C++ y Java, respectivamente, disponen de referencias para crear listas enlazadas.
Ejemplos:
Lista Enlazada Simple:



Lista Doblemente Enlazada:



Lista Enlazada Circular:


Lista Doblemente Enlazada Circular: