arboles binarios - constructor
Post on 21-Mar-2017
87 Views
Preview:
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