ESTRUCTURA DE DATOS

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Rocket clouds
ESTRUCTURA DE DATOS por Mind Map: ESTRUCTURA DE DATOS

1. Una pila (stack) es una colección ordenada de elementos a los que sólo se puede acceder por un único lugar o extremo. Los elementos de la pila se añaden o quitan (borran) de la misma sólo por su parte superior, la cima de la pila. Éste es el caso de una pila de platos, una pila de libros, etc.

2. Una cola es una estructura de datos que almacena elementos en una lista y el acceso a los datos se hace por uno de los dos extremos de la lista. Un elemento se inserta en la cola (parte final) de la lista y se suprime o elimina por el frente (parte inicial, frente) de la lista. Las aplicaciones utilizan una cola para almacenar elementos en su orden de aparición o concurrencia.

3. Las estructuras dinámicas son una implementaci´n de TDAs o TADs (Tipos Abstractos de Datos= En estos tipos el interés se centra más en la estructura de los datos que el tipo concreto de información que almacenan. Dependiendo del nú,ero de punteros y de las relaciones entre nodos, podemos distinguir varios tipos de estructuras dinámicas.

3.1. Un nodo es un punto o espacio en diversas disciplinas en donde confluyen varios otros puntos en interrelación.

3.2. La listas abiertas son una variante del sistema electoral de representación proporcional donde se refrenda una lista de representantes confeccionada por un partido, pero los votantes tienen algún tipo de influencia en el orden de los candidatos.

4. Son un tipo especial de lista, conocidas como listas LIFO (Last In, Firts Out: El último en entrar es el primero en salir). Los elementos se "amontonan" o apilan, de modo que sólo el elemento que está encima de la pila puede ser leído, y sólo pueden añadirse elementos encima de la pila.

5. Los árboles estudiados hasta ahora no tienen un orden definido; sin embargo, los árboles binarios ordenados tienen sentido. Estos árboles se denominan árboles binarios de búsqueda, debido a que se pueden buscar en ellos un término utilizando un algoritmo de búsqueda binaria similar al empleado en arrays. Un árbol binario de búsqueda es aquel que dado un nodo, todos los datos del subárbol izquierdo son menores que los datos de ese nodo, mientras que todos los datos del subárbol derecho son mayores que sus propios datos.

6. Lista abierta

6.1. Cada elemento sólo dispone de un pintero, que apuntará al siguiente elemento de la lista o valdra NULL si es el último elemento.

7. Lista doblemente enlazadas

7.1. Cada elemento dispone de dos punteros, uno apunta al siguiente elemento y el otro al elemento anterior. Al contrario que las listas abiertas anteriores, estas listas pueden recorrerse en los dos sentidos.

8. Nodo

9. Pila

9.1. Es una lista ordenada de elementos en la que todas las inserciones y supresiones se realizan por un mismo extremo denominado tope o cima de la pila. .

10. Cola

11. Árbol

11.1. Cada elemento dispone de dos o más punteros, pero las regerencias nunca son a elementos anteriores, de mode que la estructura se ramifica y crece igual que un árbol.

11.1.1. Árbol binario

11.1.1.1. Un árbol binario es un árbol en el que ningún nodo puede tener más de dos subárboles. En un árbol binario, cada nodo puede tener, cero, uno o dos hijos (subárboles). Se conoce el nodo de la izquierda como hijo izquierdo y el nodo de la derecha como hijo derecho.

11.1.1.2. Son árboles donde cada nodo sólo puede apuntar a dos nodos

11.1.2. Árbl binario de búsqueda

11.1.3. Árbol AVL

11.1.3.1. Son también árboles de búsqueda, pero su estructura está más optimizada para reducir los tiempos de búsqueda.

11.1.3.1.1. Un arbol equilibrado o arbol AVL es un arbol binario de busqueda en el que las alturas de los arboles izquierda y derecha de cualquier nodo diferente como maximo en 1

11.1.3.2. Son árboles binarios ordenados. Desde cada nodo todos los nodos de una rama serán motores, según la norma que se haya seguido para ordenar el árbol y los de la otra rama serán menores.

11.1.4. Cuando se tiene un conjunto de datos masivo, por ejemplo el conjunto 1.000.000 de clientes de un banco, los registros no pueden estar en memoria principal, y se ubican en memoria auxiliar, normalmente en disco. Los accesos a disco son críticos, consumen recursos y necesitan notablemente más tiempo que las instrucciones en memoria, se necesita reducir al mínimo el número de accesos a disco.

11.1.5. Árbol B

11.1.5.1. Son estructuras más comprejas, aunque también se trata de árboles de busqueda, están mucho más optimizados que los anteriores.

12. Grafo

12.1. Es el siguiente nivel de complejidad, podemos considerar estas estructuras como árboles no jerarquizados.

12.2. Otro tipo de lista, conocida como lista FIFO (First In, Firts Out: el último en entrar es el primero en salir). Los elementos se almacenan en fila, pero sólo pueden añadirse por un extremo y leerse por el otro.

12.3. Un grafo está formado por un conjunto de nodo s(o vértices) y un conjunto de arcos. Cada arco en un grafo se especifica por un par de nodos.

12.3.1. Son aquellas que solo tiene 2 operaciones, Push(Inserción) y Pop(Eliminación). Push solo se puede efectuar por un extremo llamado Frente y Pop por el extremo Llamado Final. Sin Embargo se le pueden aplicar todas las operación al igual que a las listas.

12.4. Los grafos no son más que la versión general de un árbol, es decir, cualquier nodo de un grafo puede apuntar a cualquier otro nodo de éste (incluso a él mismo).

13. Estructura de datos Una estructura de datos es una agregación de tipos de datos compuestos y atómicos en un conjunto con relaciones bien definidas. Una estructura de datos define la organización e interrelacionamiento de estos, y un conjunto de operaciones que se pueden realizar sobre él. Las estructuras de datos se pueden clasificar en lineales y en no lineales. Existen diversas estructuras de datos que se aplican a los distintos lenguajes de programación, las más comunes de utilizar son: pilas, colas y listas.