Estructura de Datos

Get Started. It's Free
or sign up with your email address
Estructura de Datos by Mind Map: Estructura de Datos

1. Dinámicas

1.1. Lineales

1.1.1. Listas

1.1.1.1. Listas simplemente ligadas

1.1.1.1.1. Constituye una colección de elementos llamados nodos. El orden entre esto se establece por medio de punteros; es decir direcciones o referencias a otros nodos, un nodo consta de dos partes: un campo de información y un campo liga.

1.1.1.1.2. Una lista ligada sencilla es un grupo de datos en dónde cada dato contiene además un apuntador hacia el siguiente dato en la lista, es decir, una liga hacia el siguiente dato. Para poder dar de alta un dato en una lista ligada sencilla es necesario recorrer la lista nodo por nodo hasta encontrar la posición adecuada. Se crea un nuevo nodo, se inserta el dato y se actualizan las ligas del nodo nuevo y del anterior para intercalar el nuevo nodo en la lista.

1.1.1.1.3. Función: • Añadir o insertar elementos. • Buscar o localizar elementos. • Borrar elementos. • Moverse a través de la lista, siguiente y anterior.

1.1.1.2. Listas doblemente ligadas

1.1.1.2.1. Una lista doblemente enlazada es una lista lineal en la que cada nodo tiene dos enlaces, uno al nodo siguiente, y otro al anterior. Las listas doblemente enlazadas no necesitan un nodo especial para acceder a ellas, pueden recorrerse en ambos sentidos a partir de cualquier nodo, esto es porque a partir de cualquier nodo, siempre es posible alcanzar cualquier nodo de la lista, hasta que se llega a uno de los extremos.

1.1.1.2.2. Una lista de este tipo es una colección de nodos, en la cual cada uno de ellos tiene dos apuntadores, uno apuntando al predecesor y el otro al sucesor, por medio de estos punteros se puede avanzar o retroceder atreves de la lista según se tomen las direcciones de uno u otro apuntador.

1.1.1.2.3. Función: Se presentan las operaciones: - Recorrido de la lista. - Inserción de un elemento. -Borrado de un elemento. -Búsqueda de un elemento.

1.1.1.3. Listas circulares

1.1.1.3.1. Estas son similares a las listas simplemente ligadas, sin embargo tienen la característica de que el último elemento de la lista apunta al primero, en lugar de apuntar al vacio o NIL.

1.1.1.3.2. Una lista circular es una lista lineal en la que el último nodo a punta al primero.

1.1.1.3.3. Función: • Creación de la lista circular • Recorrido de la lista una vez • Inserción de un elemento • Borrado de un elemento • Cambiar el dato de una posición

1.1.2. Pilas

1.1.2.1. -Una pila, es la estructura de datos un altero de objetos. O más formalmente, una estructura de datos en la cual solo se pueden hacer 2 operaciones: colocar un elemento al final, o quitar un elemento del final.

1.1.2.2. -Una pila se define formalmente como una colección de datos a los cuales se puede acceder mediante un extremo, que se conoce generalmente como tope.

1.1.2.3. Función: Las pilas suelen emplearse en los siguientes contextos: • Evaluación de expresiones en notación postfija (notación polaca inversa). • Reconocedores sintácticos de lenguajes independientes del contexto • Implementación de recursividad.

1.1.3. Colas

1.1.3.1. -Una cola constituye una estructura lineal de datos en la que los nuevos elementos se introducen por un extremo y los ya existentes se eliminan por el otro.

1.1.3.2. -Las colas, son conocidas como estructuras FIFO (First In, First Out). Una cola es una estructura de datos, en la cual sólo se pueden aplicar estas dos operaciones: colocar un elemento al final, o quitar un elemento del principio.

1.1.3.3. Función: Una aplicación común de las colas se presenta cuando se envía a imprimir algún documento o programa a las colas de impresión, estos se procesaran en el orden en el cual fueron introducidos a la cola, otro caso es el que se presenta en los sistemas de tiempo compartido.

1.2. No Lineales

1.2.1. Árboles

1.2.1.1. Árboles binarios

1.2.1.1.1. Un árbol binario es un árbol en cual sus hijos se identifican como subárbol izquierdo y subárbol derecho. Por lo tanto, cada nodo almacena información y las direcciones de sus descendientes.

1.2.1.1.2. Un árbol binario es un conjunto de registros, el cual, puede ser vacio o constar de una raíz y los demás registros particionados en dos conjuntos disjuntos, cada uno de los cuales es un árbol binario, que se conocen como sub-árbol izquierdo y sub-árbol derecho.

1.2.1.1.3. Función: La característica de este árbol se puede aprovechar para organizar la información; la implementación más efectiva de estos árboles es por medio de memoria dinámica, obteniendo así una estructura dinámica de creación y recorrido.

1.2.1.2. Árboles binarios de búsqueda

1.2.1.2.1. Un árbol binario de búsqueda se caracteriza porque la información de cada nodo es mayor que la información de que cada uno de los nodos que están en su subárbol izquierdo y menor que la almacenada en los nodos que están en su subárbol derecho.

1.2.1.2.2. Son arboles binarios en los cuales se cumple que para cualquier registro x pertenece el árbol, todos los datos de los registros a la izquierda de x son menores que el dato x y todos los datos de los registros a la derecha x son mayores que el dato de x.

1.2.1.2.3. Función: El recorrido inorden de un árbol binario de búsqueda genera una lista ordenada de manera creciente de todos sus elementos, el orden que existe entre la información almacenada en el árbol facilita la operación de búsqueda inserción y eliminación.

1.2.1.3. Árboles AVL

1.2.1.3.1. Un árbol balanceado ( árbol AVL) es un árbol binario de búsqueda en cual la diferencia entre la altura de su subárbol derecho y su subárbol izquierdo es menor o igual a 1.

1.2.1.3.2. Son arboles binarios de búsqueda por altura. Su nombre se debe a que sus inventores son los soviéticos Adelsson, Venski y Landis. Su clave es el factor balance, el cual se define como la diferencia entre la altura de hijo izquierdo y la altura de su hijo derecho.

1.2.1.3.3. Función: Controla el crecimiento del árbol y se garantiza mantener eficiencia de búsqueda, inserción y eliminación.

1.2.2. Grafos

1.2.2.1. Son estructuras de datos no lineales, en las cuales cada elemento puede tener cero o más sucesores y cero o mas predecesores. Están formados por vértices y aristas. Las vértices representan información y las aristas relaciones entre dicha información.

1.2.2.2. Grafos dirgidos

1.2.2.2.1. Son aquellos cuyas aristas siguen cierta dirección, en esta caso cada arista recibe el nombre de arco.

1.2.2.2.2. Son aquellos en los cuales los lados están orientados, la pareja de vértices que representa un lado se escribe entre ángulos. La orientación del lado depende del orden que escriba la pareja de vértices.

1.2.2.3. Grafos no dirigidos

1.2.2.3.1. Se caracteriza porque sus aristas son pares no ordenados de vértices. Por lo tanto, si existe una arista o arco esta será la misma que se gráfica.

1.2.2.3.2. Son aquellos en los cuales los lados no están orientados, cuando se trata de grafos no dirigidos cada paraje de vértices se representa entre paréntesis. El orden de los vértices que definen un lado no es relevante.

2. Estáticas

2.1. Arreglos

2.1.1. Son un conjunto de variables que se manejan y se citan con el mismo nombre pero te permiten trabajar con elementos individuales.

2.2. Matrices

2.2.1. Es una colección de elementos del mismo tipo, mas técnicamente es un área de la memoria que almacena a todos los miembros de la matrices están ordenadas en la memoria de manera bidimensional.

3. *Rosa Angélica Pulido -Listas, Pilas, Colas Libros: Estructuras de Datos Básicas, por Luis E. Vargas Azcona & Estructura de datos tercera edición por Osvaldo Cairo, Silvia Guardati. *Valeria Ramírez López -Árboles y Grafos Libros: Abstracción y Estructura de Datos en C++, por Antonio Garrido Carrillo, Joaquín Fernández Valdivia & Estructura de datos 3ra edición por Osvaldo Cairo, Silvia Guardati. *Cristian Solorio Cordero -Arreglos y Matrices.