Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programación
1
ÁRBOLES BINARIOS DE BÚSQUEDA- Características
NODO NODO
HOJA HOJA
Type
8 24 arbol = ^nodo;
tipo = ...;
nodo = record
7 12 dato: tipo;
16 30
HI: arbol;
HD: arbol;
15 end;
Var
30 8 a:arbol;
Begin
….
24 10 4 End.
Clase 3 – Módulo Imperativo
ÁRBOLES BINARIOS DE BÚSQUEDA- Creación
Suponga que se leen los siguientes valores y se quiere crear
un ABB (15, 18, 22, 16, 7) Cómo cree que quedará el árbol?
A
15 Como el árbol es vacío, se genera un 15
nodo nuevo y el valor 15 ocupará la
raíz del árbol.
A
18 Como el árbol NO es vacío, tengo que 15
recorrer desde la raíz hasta el lugar
correspondiente respetando el orden.
Siempre se inserta en una hoja. Siempre 18
debo generar un espacio para el nuevo
dato.
A
crear a= nil,num=7,
7
Clase 3 – Módulo Imperativo
Cómo se imprime? 7
ÁRBOLES BINARIOS DE BÚSQUEDA- Impresión
a=15
Procedure enOrden ( a : arbol );
HI=6 1 2 3
begin A HD=18
15
if ( a<> nil ) then begin Imprime 15
end;
a=nil No a=nil No a=nil No a=22
Cómo son los llamados HI=nil hace HI=nil hace HI=nil hace HI=nil 1 2 3
recursivos? HD=nil nada HD=nil nada HD=nil nada HD=nil
22 Cuántas instancias
end; recursivas se
end; crearon?
A
15
Cómo aprovecho el
18 orden del ABB?
6
22
Dado un árbol y un valor x, esta operación retorna un puntero al nodo en el árbol A que
tiene valor x o Nil si no existe.
Si los valores leídos son 7, 10, 22, 44. ¿Cómo queda formado el
árbol?
Clase 3 – Módulo Imperativo