1. Universidad Nacional Autónoma de México, FES Acatlán Estructura de datos lineales y no lineales Castro Villanueva, Rubén Getsmani Espejo Peralta, Paloma Arlea Rojas Gómez, Ana Cecilia Singh Sachan, Anubhav Nikunj
2. Diferencia entre estructuras de datos lineales y no lineales Una estructura de datos puede ser clasificada como lineal ó no lineal de acuerdo la relación entre los elementos que la forman. En una estructura lineal los elementos tienen una relación 1 a 1. Ejemplos de estructuras de datos lineales: listas, pilas y colas. En una estructura no lineal, los elementos tienen una relación 1 a M, M a 1 ó M a M. Ejemplos de estructuras de datos no lineales: árboles y grafos.
3. Listas Una lista se define como una estructura de datos que contiene un número variable de elementos que se encuentran relacionados. Para hacer referencia a una lista es necesario conocer donde inicia y donde termina, de tal manera que para accederla necesitaríamos siempre acceder al primer elemento de la lista y luego acceder a otros elementos. Tipos de listas: Simples, Dobles, Circulares Aplicaciones de las listas: Representación de polinomios, resolución de colisiones (Hash)-tiene aplicaciones en bases de datos.
4. Pilas Una pila se define como una estructura de datos en la que sólo se puede operar por uno de sus extremos. Se considera una estructura de datos tipo LIFO (Last in, Firstout) lo cual indica que los elementos se sacan el orden inverso al que se insertan. Las pilas pueden representarse de manera ligada o contigua. Aplicaciones de las pilas: llamadas a funciones o procedimientos, manejo de recursividad, evaluación de expresiones algebraicas, ordenación.
5. Colas Una cola es una estructura de datos en la cual los elementos se insertan de un extremo, y se sacan del otro. Es considerada una estructura de tipo FIFO (First in, Firstout) lo cual indica que el primer elemento en entrar es el primer elemento en salir. Tipos de colas: Simples, Dobles, Circulares Aplicaciones de las colas: Colas de impresión, sistemas multiusuario, sistemas de tiempo compartido
6. Árboles Un árbol es una estructura de datos jerarquizada. Lo constituye una colección de elementos llamados nodos. Cada nodo con la excepción de la raíz tiene un nodo padre, y cada nodo puede tener cero o más hijos que descienden de él. Un nodo sin hijos es llamado hoja. Hay tres formas de hacer la ordenación o recorrido los nodos: preorden, postorden e inorden. Un árbol binario es un árbol cuyos nodos tienen a lo más dos hijos. Aplicaciones de los árboles: evaluación de expresiones algebraicas, buscar elementos, diseño de compiladores, sistemas expertos, sistemas evolutivos, sistemas conscientes, manejo de directorios, representación de árboles genealógicos, probabilidad.
7. Grafos Un grafo es una colección de nodos(o vértices) unidos por un conjunto de arcos (o aristas). En una computadora, un grafo se puede representar con su matriz de incidencia o su matriz de adyacencia. Aplicaciones de los grafos: Representación de caminos o rutas de transporte entre localidades, determinar tiempos máximos y mínimos en un proceso, flujo y control en un programa, representación de circuitos electrónicos analógicos y digitales, representación de redes de computadores.