Beruflich Dokumente
Kultur Dokumente
Estructura de Datos
Cs-10 14:00-16:00hrs
Nombre: Erick Daniel Barillas Orantes
Carne: 0900-09-10059
Tarea
Nodo
La programacin informtica considera que un nodo es cada uno de los
elementos de una lista enlazada, un rbol o un grafo en una estructura
de datos. Cada nodo tiene sus propias caractersticas y cuenta con
varios campos; al menos uno de stos debe funcionar como punto de
referencia para otro nodo.
Se trata de una estructura de datos que puede utilizarse para la
implementacin de nuevas estructuras (tales como las colas, las pilas y
sus derivados) y est formada por una serie de nodos que almacenan,
adems de la informacin deseada, un enlace, un puntero o una
referencia al nodo que lo precede, al posterior, o bien uno a cada uno.
La ventaja fundamental de una lista enlazada en comparacin con un
vector convencional es que sus elementos no presentan un orden rgido
ni relacionado con el que tuvieron al momento de ser almacenados, sino
que ste depende del enlace que posee cada nodo, y puede ser
modificado cuando as se desee.
La lista enlazada
Punteros
Un puntero es una variable que almacena la direccin de memoria de otra
variable, es decir, almacena el valor del lugar fsico en la memoria en
donde se encuentra almacenada dicha variable. Si se imagina que la
memoria del computador es un gran arreglo de bytes, la direccin de
memoria correspondera al ndice de los casilleros de dicho arreglo, que
es precisamente lo que se almacena en el puntero.
Lista Enlazada
La lista enlazada es un TDA (tipo de datos abstracto) que nos permite
almacenar datos de una forma organizada, al igual que los vectores pero,
a diferencia de estos, esta estructura es dinmica, por lo que no tenemos
que saber "a priori" los elementos que puede contener.
En una lista enlazada, cada elemento apunta al siguiente excepto el ltimo
que no tiene sucesor y el valor del enlace es null. Por ello los elementos
son registros que contienen el dato a almacenar y un enlace al siguiente
elemento. Los elementos de una lista, suelen recibir tambin el nombre
de nodos de la lista.
struct lista {
gint dato;
lista *siguiente;
};
Representa el dato a almacenar. Puede ser de cualquier tipo; en este
ejemplo se trata de una lista de enteros.
Es un puntero al siguiente elemento de la lista; con este puntero
enlazamos con el sucesor, de forma que podamos construir la lista.
Figura 1. Esquema de un nodo y una lista enlazada.
Para que esta estructura sea un TDA lista enlazada, debe tener unos
operadores asociados que permitan la manipulacin de los datos que
contiene.Los operadores bsicos de una lista enlazada son:
Pop
Pop es simplemente el mtodo por el cual va sacando el primer Dato de
la Cola (esto se comprueba ya que las Colas son FIFO), para esto toma
en cuenta el Frente.
Detalle:
Compara para determinar si la cola esta vaca, de otra forma lo que hace
es Imprimir Eliminando el Dato. Despus se hacen una series de
comparaciones para determinar la nueva posicin de Frente, de esa forma
el Dato que exista en Frente es Eliminado.
Algoritmo:
Pop(Cola, Frente, Final, Max)
Si Frente Nulo
Imprimir "Eliminado el Dato..."
Si Frente = Final
Frente = Nulo
Final = Nulo
Si no, si Frente = Max
Frente = 0
Si no:
Frente <-- Frente + 1
Si no:
Imprimir "Cola Vaca"
Salir
DECLARE CHARACTER ch
DECLARE INTEGER count = 0
DO
READ ch
IF ch IS '0' THROUGH '9' THEN
count++
END IF
UNTIL ch IS '\n'
PRINT count
END
Diagrama
Los diagramas de estructura de datos es una tcnica que permite mostrar
los requerimientos lgicos de las estructuras de datos de una aplicacin o
sistema.
Los objetivos de estos diagramas son: