Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Contenedores No Lineales
Arboles
8/4/2023 1
Bibliografía :
1. Hibbard, Thomas N y Yazlle, Jorge F. EUNSA. (2015) Matemática Discreta.
7. C. L. Liu - Mc Graw Hill – 2dta. Edición – Año 1995. Elementos de Matemática Discreta
2
➢ Objetivos de esta parte:
8/4/2023
Inserción en un ABB ordenado
El objetivo es construir un ABB ordenado y que sirva para la búsqueda. El algoritmo que
se presenta a continuación, se inicia con un ABB vacío, y construye un ABB ordenado
cuando los objetos vienen en forma aleatoria.
Ej.: supongamos A = Ø y, se desea insertar la sucesión de nros. aleatorios: 82, 35, 24,
88, 5, 58, 57, ...
8/4/2023 4
Inserción en un ABB ordenado …
insertar(x, A) =
Si (A = Ø) (x, Ø, Ø)
Sino
Si (x = valor (A)) A
Sino
Si (x < valor(A)) A(izq → insertar(x, izq(A)))
Sino A(der → insertar(x, der(A)))
Después de insertar
I D 35 Ø
izq(A) Ø Ø der(A)
Ø Ø
8/4/2023 5
Inserción en un ABB ordenado …
insertar(x, A) =
Si (A = Ø) (x, Ø, Ø)
Sino
Si (x = valor (A)) A
Sino
Si (x < valor(A)) A(izq → insertar(x, izq(A)))
Sino A(der → insertar(x, der(A)))
Después de insertar
Ø Ø 24
8/4/2023 6
Inserción en un ABB ordenado …
insertar(x, A) =
Si (A = Ø) (x, Ø, Ø)
Sino
Si (x = valor (A)) A
Sino
Si (x < valor(A)) A(izq → insertar(x, izq(A)))
Sino A(der → insertar(x, der(A)))
24
24
8/4/2023 7
Inserción en un ABB ordenado …
insertar(x, A) =
Si (A = Ø) (x, Ø, Ø)
Sino
Si (x = valor (A)) A
Sino
Si (x < valor(A)) A(izq → insertar(x, izq(A)))
Sino A(der → insertar(x, der(A)))
x = 5, 58, 57:
insertar(x, (82, (35, (24, Ø , Ø) , Ø) ,(88, Ø ,Ø)), los alumnos…
82 A
35 88
24
8/4/2023 8
gt.jar.
https://people.ksp.sk/~kuko/gnarley-trees/
Demo de:
1) Insertar(x, ABB) / x {82, 35, 24, 88, 5, 58, 57}
8/4/2023 9
Eliminación en un ABB ordenado:
Nodo* Eliminar(Nodo*A, int x) =
t = Buscar(x, A) // Busca el nodo cuyo valor es x , retorna un puntero t hacia el nodo con valor x
Si (t == Null) //no existe x
retornar A
Sino // t != Null // existe x y hay que analizar
Caso a) El nodo a eliminar es una hoja:
(t->izq == Null && t->der == Null) Padre
Caso c) El nodo a eliminar es un nodo interno con 2 hijos (izq y der): elegir una estrategia
de reemplazo (el mayor del subárbol izq o el menor del subárbol derecho) y luego invocar
a eliminar(^nodo rojo o azul, valor(rojo o azul))
Padre
10
gt.jar.
https://people.ksp.sk/~kuko/gnarley-trees/
Demo de:
Eliminar (t, ABB) (Estrategia de Gnarley reemplazar por el menor del subárbol derecho)
8/4/2023 12
➢ Vimos:
➢ Arboles
Buscar -> Fc de Complejidad
➢ Operaciones básicas:
▪ Insertar
▪ Eliminar
8/4/2023
8/4/2023 20