arboles binarios - constructor

Post on 21-Mar-2017

87 Views

Category:

Engineering

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Árboles binarios II

Tipos Abstractos de Datos

Constructor ABBValor

Hizq

Padre

Hder

constantes NODO_NULO = NULO tipos

ITEM = registrovalor: ELEMENTOpadre: apuntador a ITEMhijo_izq: apuntador a ITEMhijo_der: apuntador a ITEM

NODO = apuntador a ITEMABB = NODO

TAD: Crear nodo raiz

inicializar(ref t: ABB)

principiot = NODO_NULO

fin

TAD: Añadir elemento

principio p ← reservar(1,ITEM)

apuntado(p).valor →xapuntado(p).primer_hijo → NODO_NULOapuntado(p).siguiente_hermano → NODO_NULOsi t = NODO_NULO entonces

apuntado(p).padre → NODO_NULOt → pdevolver p

fin_siapuntado(p).padre → n

añadir_hijo (ref t: ARBOL, ref n: NODO, x: ELEMENTO): NODO

var p, q: NODOclave()

si apuntado(n).primer_hijo = NODO_NULO entoncesapuntado(n).primer_hijo psi_no

q apuntado(n).primer_hijomientras apuntado(q).siguiente_hermano 6=

NODO_NULO hacerq apuntado(q).siguiente_hermano

fin_mientrasapuntado(q).siguiente_hermano pfin_si

devolver pfin

Tarea

Escribir los diagramas de flujo para los siguientes TAD de árboles:

Eliminar nodo Buscar nodo Encontrar altura del árbol Determinar si el árbol está vacío Crear el nodo raiz Encontrar el predecesor de un nodo Encontrar el sucesor de un nodo

top related