arboles binarios - constructor
TRANSCRIPT
![Page 1: arboles binarios - constructor](https://reader036.vdocuments.co/reader036/viewer/2022073011/58d061fa1a28ab10448b56ef/html5/thumbnails/1.jpg)
Árboles binarios II
Tipos Abstractos de Datos
![Page 2: arboles binarios - constructor](https://reader036.vdocuments.co/reader036/viewer/2022073011/58d061fa1a28ab10448b56ef/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022073011/58d061fa1a28ab10448b56ef/html5/thumbnails/3.jpg)
TAD: Crear nodo raiz
inicializar(ref t: ABB)
principiot = NODO_NULO
fin
![Page 4: arboles binarios - constructor](https://reader036.vdocuments.co/reader036/viewer/2022073011/58d061fa1a28ab10448b56ef/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022073011/58d061fa1a28ab10448b56ef/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022073011/58d061fa1a28ab10448b56ef/html5/thumbnails/6.jpg)
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