1. ESTRUCTURA DE DATOS
Estructura de Datos:
Una estructura de datos es una clase de datos que se puede caracterizar por su
organización y operaciones definidas sobre ella. En un programa, cada variable pertenece a
alguna estructura de datos explícita o implícitamente definida, la cual determina el conjunto
de operaciones válidas para ella.
Estructuras primitivas y simples.
Las estructuras de datos primitivas no están compuestas por otras estructuras: enteros,
booleanos y caracteres. Las estructuras de datos simples se construyen a partir de
estructuras primitivas: cadenas, matrices y registros.
Cadenas:
Son secuencias finitas de símbolos tomados de un conjunto de caracteres. El
conjunto de caracteres que se emplea para generar cadenas se llama alfabeto. Al
conjunto de todas las posibles cadenas que se pueden derivar de un alfabeto se le
llama vocabulario.
Matrices:
Son un conjunto finito ordenado de elementos
homogéneos. Los elementos de una matriz son
referenciados según sus posiciones. Las matrices
pueden ser unidimensionales y multidimensionales.
Se pueden efectuar operaciones sobre los elementos
individuales o sobre la matriz.
Registros:
Son colecciones finitas y ordenas de elementos, posiblemente heterogéneos, que se
tratan como una unidad (en C se denominan estructuras) en las cuales:
Los campos son áreas específicas de un registro.
Los elementos del registro se pueden referenciar de forma individual en un
programa.
Los registros son importantes porque pueden preservar la estructura lógica
natural de los elementos de información relacionados.
Estructuras complejas
Son la combinación de estructuras de datos simples para formar otras estructuras más
complejas y pueden ser:
Lineales: listas, pilas y colas
2. Listas: Una lista lineal es una estructura de datos formada por un conjunto de elementos
ordenados, el número de elementos de la lista puede variar.
o A=[A1, A2, …AT]
o Si T=0 entonces A se dice que es una lista vacía o nula.
o Se puede borrar un elemento o insertar en cualquier posición de la lista. Así la
lista puede crecer o decrecer al transcurrir el tiempo.
Pilas: es una lista lineal en el cual, la inserción o supresión son
operaciones que sólo pueden ocurrir en un extremo de la pila, el cual
se denomina como tope de la pila. Existen cuatro operaciones
básicas que son válidas para el tipo de datos pila: crear, pila_vacía,
insertar y sacar. Las pilas pueden emplearse en la solución de
problemas que necesitan de una estructura de datos tipo último-que-
entra-primero-que-sale.
Colas: es una lista lineal en el cual, la inserción se hace estrictamente por
un extremo de la lista, al cual podemos llamar fondo, la supresión sólo
puede hacerse por el otro extremo de la lista, al cual llamamos frente.
Existen cuatro operaciones básicas que son válidas para el tipo de datos
cola: crear, cola_vacía, insertar y sacar.
No lineales: árboles, grafos y montículos.
Un árbol es un conjunto de cero o más nodos que
cumplen:
Existe un nodo especial llamado raíz.
Los nodos restantes están separados en n
conjuntos distintos, cada uno de los cuales es a
su vez un árbol (subárboles).
Elementos de un árbol:
o Nodos: elementos del árbol que almacenan información.
o Conexiones: expresan las relaciones entre los nodos.
Estructura del un árbol:
o Nodo raíz: nodo más alto de la jerarquía, a partir del cual están conectados
los demás.
o Nodo terminal u hoja: aquel que no contiene ningún subárbol.
o Hijos de un nodo: aquellos nodos conectados a un nodo mediante enlace
directo.
o Descendientes: nodos que encontramos al movernos hacia abajo
o en un árbol.
o Ascendientes: nodos que encontramos al movernos hacia arriba en un árbol.
o Padre de un nodo: antecesor directo de un nodo.
o Hermanos: nodos hijos del mismo padre.
Nodos internos: aquellos que tienen a su vez padres e hijos (nodos no terminales).
Grado del nodo: el número de ramas de un nodo.
Un árbol binario es árbol en que cada nodo tiene como máximo dos hijos.