Professional Documents
Culture Documents
RELACIONES
MDULO 2 CATEGORAS CONCEPTUALES CONCEPTUALES.
IDEAS ENLAZADAS
2.1 Estructuras de datos: Ejemplos:
La cadena de
2.4 Colas parntesis es correcta
si la pila es vaca al
terminar de recorrer
Estructura de datos lineal. la cadena.
La insercin se realiza en un extremo
de la estructura y el borrado se realiza
por el otro extremo.
- Ejemplos de colas en
El primer elemento en entrar a la cola
la vida real:
es el primero en salir:
o FIFO (First In, First Out).
cola del banco;
Son una de las estructuras de datos
cola de la
ms empleadas.
impresora.
Operaciones sobre colas:
o Creacin: crea una cola vaca. En estos casos,
o Insercin: agrega un nuevo siempre el ltimo en
elemento en la cola: llegar es el ltimo en
insertar(x). ser atendido.
o Borrado: elimina el elemento
ms antiguo si la cola no est
vaca:
x = quitarPrimero(). - Los rboles son
o Consulta: muy usados en la
cola vaca; estructura de
elemento ms antiguo. directorios en
Las implementaciones de colas sistemas
tambin se pueden hacer sobre otras operativos,
estructuras bsicas. Cuando se usan donde:
vectores, se suele emplear una
implementacin de cola circular. los directorios son
nodos internos;
los archivos son
hojas.
2.5 Listas enlazadas
- Todo rbol con N
nodos tiene N-1
Una lista enlazada consta de: aristas, ya que a
o Una coleccin de nodos cada nodo,
situados en la memoria excepto la raz, le
dinmica conectados entre s llega una arista.
+
o Operaciones de insercin,
eliminacin y consulta - Hay varios
arbitrarias de un elemento. ejemplos de
Cada nodo se compone de rboles binarios;
o un dato; por ejemplo: los
o una referencia al siguiente nodo rboles de
de la lista. expresiones,
Al primer nodo de la lista se accede a donde las hojas
travs de un puntero especial. son operandos y
Los elementos se buscan comenzando el resto son
en el primer nodo y siguiendo la operadores.
cadena de punteros. - (a+b)*(c-d)
El ltimo nodo de la lista contiene una
referencia siguiente vaca o null. *
Insercin en listas: consiste en
+ -
introducir un nodo dentro de la lista:
o debemos determinar dnde va
a tener lugar la insercin; a b c d
o insertar en la primera posicin
no es costoso; Los rboles binarios
o si no, deberemos primero se utilizan tambin en
buscar la posicin de insercin la codificacin de
(p. ej: lista ordenada). Huffman para la
Borrado o eliminacin en listas: se compresin de datos.
ejecuta con un simple cambio de Cada smbolo del
referencia: alfabeto se guarda en
o necesitamos una referencia al una hoja, y el cdigo
nodo anterior; se obtiene siguiendo
o este mtodo asume que el camino desde la
siempre hay un nodo anterior al raz al smbolo:
nodo por eliminar;
o la eliminacin del primer la arista izquierda
elemento es un caso especial. es un 0;
Implementacin con nodos cabecera: la arista derecha es
o Un nodo cabecera es un nodo un 1.
extra de la lista enlazada:
no guarda ningn dato;
permite que cada nodo
tenga un nodo anterior. a
o Evitan tener que tratar casos
especiales:
d
Eliminacin o insercin
del primer elemento.
Listas doblemente enlazadas: b c
o No se usa null para delimitar el
fin de la lista: a=0;
El final de la lista lo
b=100;
marca el nodo final.
c=101;
o El mtodo retroceder() se
d=10.
puede implementar fcilmente:
actual = actual.anterior.
o La insercin y eliminacin
implican el doble de cambios de
- Un ejemplo de
punteros.
uso de las tablas
hash son las
tablas de smbolos
de un compilador:
el compilador
2.6 rboles guarda todos los
nombres de
identificadores;
esto se usa para la
Los rboles son una estructura de datos comprobacin de
muy utilizada: mbito, tipos,
o conjunto de nodos; asignacin de
o conjunto de aristas que memoria,
conectan pares de nodos. etctera.
Un nodo es distinguido como raz.
Todo nodo que no sea raz tiene un y
solo un padre.
Hay un nico camino de la raz a cada
nodo.
Los nodos q no tienen hijos se
denominan hojas.
Algunas propiedades de los rboles:
o la longitud de un camino es el
nmero de aristas atravesadas;
o la profundidad de un nodo es la
longitud del camino que va
desde la raz al nodo;
o la altura de un nodo es la
longitud del camino que va
desde el nodo hasta la hoja ms
profunda bajo l;
o el tamao de un nodo es el
nmero de descendientes que
tiene (incluido el propio nodo).
Implementacin primer hijo/siguiente
hermano:
o Cada nodo contiene:
datos;
una referencia a cada
uno de sus hijos.
o El nmero de hijos puede variar
y no se conoce a priori.
o Los hijos se mantienen en una
lista enlazada.
o Cada nodo tiene dos
referencias:
hermano a la derecha;
hijo ms a la izquierda.
Recorridos de un rbol:
o Preorden:
el trabajo se realiza
primero sobre el nodo;
luego se procesan los
hijos.
o Postorden:
primero se procesan los
hijos;
luego se procesa el
nodo.