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. Definición: Es una colección de datos que se caracterizan por su organización y las operaciones que se definen en ellas. Su funcionalidad principal es tener mejor control sobre la memoria.

2. Tipos

2.1. Estáticos

2.1.1. Array: Colección finita, homogénea y ordenada de elemento

2.1.1.1. Ventajas

2.1.1.1.1. Son más seguros: al no haber redimensionamientos, el riesgo de errores es menor. También hay menos problemas en cuanto a que datos válidos sean eliminados por error o a que existan datos no válidos en el array

2.1.1.1.2. Son más claros: no hay equívocos en cuanto al número de elementos que los componen y son más fáciles de seguir.

2.1.1.1.3. Ocupan menos recursos del ordenador, que tiene que gestionar su contenido pero no cambio de dimensiones.

2.1.1.2. Desventajas

2.1.1.2.1. Almacenar datos no válidos es ineficiente, al ocupar memoria y tener que realizar la gestión de elementos que no aportan nada.

2.1.1.2.2. El no ajustar los datos existentes y datos válidos nos obligará a llevar una contabilidad paralela consistente

2.1.1.2.3. El acceso es secuencial (para llegar a una posición deberemos pasar por todas las anteriores).

2.1.1.3. Clasificación

2.1.1.3.1. Unidimensional (Vector): tipo de datos estructurado compuesto de un número de elementos finitos, tamaño fijo y elementos homogéneos.

2.1.1.3.2. Bidimensionales (Matriz): Es un array con dos índices, al igual que los vectores que deben ser ordinales o tipo sub_rango.

2.1.2. Registro: Un registro es un conjunto de campos referentes a una entidad en particular y constituyen una unidad para su proceso.

2.1.3. Archivo: Es el conjunto de registros homogéneos referidos a objetos de la misma naturaleza o del mismo tipo, almacenados en un soporte externo, que presenta entre sí una relación lógica y que pueden ser consultados individualmente de forma iterativa o sistemática.

2.1.4. Conjunto: un conjunto es una colección (contenedor) de ciertos valores, sin ningún orden concreto ni valores repetidos. Su correspondencia en las matemáticas sería el conjunto finito. Sin tener en cuenta la secuencia, ni el hecho de que no haya valores repetidos, se asemeja a una lista. Un conjunto puede verse como una cadena asociativa (array) (mapeado parcial) donde no se atiende al valor de cada par clave-valor

2.1.5. Cadena:Las cadenas de caracteres (también llamadas cadenas o strings) son un tipo particular de vectores, que como su nombre lo dice son vectores de char, con la particularidad que tienen una marca en el fin del (el caracter '\0')

2.2. Dinámicos

2.2.1. Pilas: Las pilas son estructuras de datos que tienes dos operaciones básicas: push (para insertar un elemento) y pop (para extraer un elemento).

2.2.1.1. Característica fundamental es que al extraer se obtiene siempre el último elemento que acaba de insertarse. Por esta razón también se conocen como estructuras de datos LIFO (del inglés Last In First Out).

2.2.1.2. Ventajas

2.2.1.2.1. ordenamiento de pila es muy eficiente

2.2.1.2.2. su uso de memoria es mínimo debido a que parte de lo que es necesario para tener una lista inicial de elementos para ser ordenados no necesita espacio en memoria adicional para funcionar

2.2.1.2.3. El algoritmo de ordenamiento de pila es más simple de entender que otros algoritmos de ordenamiento igualmente eficientes

2.2.1.2.4. es particularmente adecuado su uso en sistemas en los que el tiempo de respuesta es crítico

2.2.1.3. Desventajas

2.2.1.3.1. El inconveniente de esta implementación es que es necesario fijar de antemano el número máximo de elementos que puede contener la pila, MAX_ELEM, y por lo tanto al apilar un elemento es necesario controlar que no se inserte un elemento si la pila está llena

2.2.1.3.2. se debe reservar el espacio en memoria con anticipación

2.2.1.3.3. Una vez dado un máximo de capacidad a la pila no es posible insertar un número de elementos mayor que el máximo establecido

2.2.2. Lista

2.2.2.1. Colas: Las colas también son llamadas FIFO (First In First Out), que quiere decir “el primero que entra es el primero que sale”.

2.2.2.1.1. se inserta por el final y se saca por el principio. Para gestionar este tipo de cola hay que recordar siempre cual es el siguiente elemento que se va a leer y cual es el último elemento que se ha introducido.

2.2.2.1.2. Ventajas

2.2.2.1.3. Desventajas

2.2.3. Árbol: un árbol es una estructura de datos ampliamente usada que imita la forma de un árbol (un conjunto de nodos conectados). Un nodo es la unidad sobre la que se construye el árbol y puede tener cero o más nodos hijos conectados a él.

2.2.3.1. La caraterística esencial de los árboles es que cada uno de sus nodos se puede estar conectado a subárboles, que a su vez tiene estructura arbórea. En otras palabras, siempre que se está en un árbol, la estructura inferior tiene carácter de árbol. En este sentido una estructura de árbol es una estructura de datos recursiva.

2.2.3.2. Ventajas

2.2.3.2.1. la estructura árbol puede cambiar durante la ejecución de un programa.

2.2.3.2.2. cada elemento del árbol pueden seguirle varios elementos.

2.2.3.2.3. El número de accesos al árbol es menor que en una lista enlazada

2.2.3.3. Desventajas

2.2.3.3.1. Árboles degenerados

2.2.3.3.2. Para que los árboles sean ordenados es necesario reequilibrados

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