arboles binarios - constructor

6
Árboles binarios II Tipos Abstractos de Datos

Upload: azquel76

Post on 21-Mar-2017

87 views

Category:

Engineering


4 download

TRANSCRIPT

Page 1: arboles binarios - constructor

Árboles binarios II

Tipos Abstractos de Datos

Page 2: arboles binarios - constructor

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

Page 3: arboles binarios - constructor

TAD: Crear nodo raiz

inicializar(ref t: ABB)

principiot = NODO_NULO

fin

Page 4: arboles binarios - constructor

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()

Page 5: arboles binarios - constructor

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

Page 6: arboles binarios - constructor

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