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
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.

Guia Estructura de Datos

  • 1.
    ESTRUCTURA DE DATOS Estructurade 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 listalineal 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.