Está en la página 1de 7

Universidad Mariano Glvez

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.

Universidad Mariano Glvez


Estructura de Datos
Cs-10 14:00-16:00hrs
Nombre: Erick Daniel Barillas Orantes
Carne: 0900-09-10059

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.

Universidad Mariano Glvez


Estructura de Datos
Cs-10 14:00-16:00hrs
Nombre: Erick Daniel Barillas Orantes
Carne: 0900-09-10059

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:

Insertar: inserta un nodo con dato x en la lista, pudiendo realizarse


esta insercin al principio o final de la lista o bien en orden.
Eliminar: elimina un nodo de la lista, puede ser segn la posicin o
por el dato.
Buscar: busca un elemento en la lista.
Localizar: obtiene la posicin del nodo en la lista.
Vaciar: borra todos los elementos de la lista

Lista Enlazada Push y Pop


Son aquellas que solo tiene 2 operaciones, Push(Insercin) y
Pop(Eliminacin). 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 operacin al igual que a las listas.

Universidad Mariano Glvez


Estructura de Datos
Cs-10 14:00-16:00hrs
Nombre: Erick Daniel Barillas Orantes
Carne: 0900-09-10059

Push: es simplemente el mtodo por el cual va agregando un Dato nuevo


a la Cola tomando en cuenta el Tamao Mximo de Capacidad (Max), el
Frente y el Final de la Cola.
Detalle:
Primer nos aseguramos que la Cola no este Llena, para que de esta
manera sea capaz de insertar un Elemento nuevo. Si no desplegara Cola
Llena. Despus compara para determinar las posiciones de Frente y Final
y de esta manera poder moverlo con libertad. Ya que determina los
valores de Frente y Final, nos Indica que Cola[Final] tomara el valor de
Elemento.
Algoritmo:
Push(Cola, Frente, Final, Max, Elemento)
Si Frente = 0 y Final =9, o si Frente = (Final + 1)
Imprimir "Cola Llena" y Salir
Si Frente = Nulo
Frente <-- 0
Final <-- 0
Si no, si Final = Max
Final <-- 0
Si no:
Final <-- Final + 1
Cola[Final] = Elemento
Salir

Universidad Mariano Glvez


Estructura de Datos
Cs-10 14:00-16:00hrs
Nombre: Erick Daniel Barillas Orantes
Carne: 0900-09-10059

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

Universidad Mariano Glvez


Estructura de Datos
Cs-10 14:00-16:00hrs
Nombre: Erick Daniel Barillas Orantes
Carne: 0900-09-10059

Lista Enlazadas pila y Cola


Colas
Una cola es una estructura de datos donde el primer elemento en entrar
es el primero en salir, tambin denominadas estructuras FIFO (First In,
First Out).
Esta estructura de datos se puede definir como una lista enlazada con
acceso FIFO a la que slo se tiene acceso al final de la lista para meter
elementos y al principio de esta para sacarlos.
Pilas
Una pila, es una estructura de datos en la que el ltimo elemento en
entrar es el primero en salir, opr lo que tambin se denominan
estructuras LIFO (Last In, First Out).
En esta estructura slo se tiene acceso a la cabeza o cima de la pila.
Algoritmo
Normalmante los algoritmos se asocian con estructuras de datos. Un
algoritmo es una secuencia de instrucciones que realizan una tarea en un
periodo de tiempo finito. El algoritmo recibe cero o ms entradas, produce
al menos una salida, consiste en instrucciones claras y poco ambiguas,
termina despus de un nmero finito de pasos, y es lo suficientemente
bsico que una persona puede llevar a cabo el algoritmo utilizando lpiz
y papel. Por el contrario, un programa no es necesariamente finito: el
programa, como un servidor Web, podra no terminar nunca si no hay
intervencin externa. Algunos ejemplos de algoritmos asociados con
estructuras de datos son: bqueda-lineal, ordenacin-de-burbuja,
bsqueda-binaria, concatenacin-de-listas-enlazadas, etc.
Pseudocdigo
Una alternativa al flowchart es el pseudocdigo: una representacin en
modo texto de un algorirmo que se aproxima al cdigo fuente final. El
pseudocdigo es til para una escritura rpida de representaciones de
algoritmos. Como la sntaxis no es lo ms importante, no hay reglas
definidas para escribir pseudocdigo. Considere el siguiente ejemplo:

Universidad Mariano Glvez


Estructura de Datos
Cs-10 14:00-16:00hrs
Nombre: Erick Daniel Barillas Orantes
Carne: 0900-09-10059

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:

Verificar los requerimientos de informacin


Describir los datos asociados con las entidades
Mostrar la relacin entre entidades
Comunicar los requerimientos de datos
Construir un modelo lgico del sistema que facilite la comprensin
del mismo.

Los diagramas de estructuras de datos, utilizan una notacin bsica la


cual est representada por: