Arboles_binarios_de_busqueda

Páginas: 7 (1679 palabras) Publicado: 1 de diciembre de 2015
Árboles Binarios de Búsqueda
(ABB)


ABB = Árbol binario ordenado según uno o más criterios



Cada nodo tiene dos hijos:
– el subárbol izquierdo es el árbol vacío o es un subárbol que contiene nodos
cuya clave es menor que la suya
– el subárbol izquierdo es el árbol vacío o es un subárbol que contiene nodos
cuya clave es mayor que la suya



¿Cuál de estos dos árboles binarios de enteros esun ABB?
7

4

7
9

8

4

9
8

Estructura de Datos II

TAD ABB: inserción
• Los nodos se insertan siempre como nodos hoja
• El algoritmo de inserción garantiza para cada nodo del árbol que:
- Su subárbol izquierdo contiene claves menores
- Su subárbol derecho contiene claves mayores
• Funcionamiento:
- Si el árbol estuviera vacío, se inserta el nodo en la raíz .
- Si no, se va recorriendo elárbol:
• En cada nodo se decide si hay que insertar a la derecha o la
izquierda.
• Si el subárbol en que hay que insertar es vacío, se inserta el nuevo
elemento.
• Si el subárbol en que hay que insertar no es vacío hay que
recorrerlo hasta encontrar el lugar que le corresponde al nodo en ese
subárbol.
- Es un algoritmo recursivo.

TAD ABB: Ejemplo de inserción
• Insertar 8, 5, 1, 20, 12, 6, 4
Insertar 8



Insertar 5



Insertar 1



Insertar 20



Insertar 12



Insertar 6



8

5

1

6

4

Insertar 4

Estructura de Datos II

20

12

TAD ABB: Ejemplo de borrado
• Borrar 8

Sustituir por 6

Sustituir por 12

Estructura de Datos II

TAD ABB: Ejemplo de borrado
• Borrar 1
• Borrar 20
• Borrar 5

Borrar 1

Borrar 20

Estructura de Datos II

Borrar 5

ÁRBOLES BINARIOS DE BUSQUEDA
Elárbol binario de búsqueda es una
estructura sobre la cual se pueden realizar
eficientemente las operaciones de búsqueda,
inserción y eliminación.
En las listas, las operaciones de inserción y
eliminación se pueden llevar a cabo con facilidad,
sin embargo la búsqueda es una operación
bastante costosa que incluso nos puede llevar a
recorrer todos los elementos de ella para localizar
uno en particular. Definición de Árbol binario de
Búsqueda

Para todo nodo T del árbol debe cumplirse que
todos los valores de los nodos del subárbol izquierdo de T
deben ser menores al valor del nodo T. De forma similar,
todos los valores de los nodos del subárbol derecho de T
deben ser mayores al valor del nodo T.

Es aquel en el que el hijo de la izquierda (si existe) de
cualquier nodo contiene un valor máspequeño que el
nodo padre, y el hijo de la derecha (si existe) contiene un
valor más grande que el nodo padre.

En la siguiente figura tenemos un ejemplo de árbol binario
de búsqueda.

Observe que si en dicho árbol se
sustituye el valor 140 del nodo por 160, 99
por 105 y 43 por 55; el árbol continúa siendo
un árbol binario de búsqueda. Ahora bien, si
en dicho árbol se remplaza el valor 87 del
nodopor 125, entonces el árbol deja de ser
un árbol binario de búsqueda puesto que
viola el principio que dice que: “Todos los
nodos del subárbol izquierdo del nodo T
deben ser menores o iguales al nodo T” (en
este caso 125 no es menor a 120).

También es posible observar que si se efectúa un
recorrido inorden sobre un árbol de búsqueda se obtendrá
una clasificación de los nodos en forma ascendente.El
recorrido inorden del árbol de la figura anterior produce el
siguiente resultado:
22-43-56-65-87-93-99-120-130-135-140

Algoritmo de Búsqueda en un ABB
BÚSQUEDA (NODO, INFOR )
1. Si INFOR < NODO^.INFO
entonces
1.1 Si NODO^.IZQ = NULL
entonces
Escribir “El ncdo no se encuentra en el árbol”
si no
Regresar a BÚSQUEDA con N0DO^.IZQ e INFOR {Llamada recursiva}
1.2 { Fin del condicional del paso1.1}
si no
1.3 Si INFOR> NODO^.INFO
entonces
1.3.1 Si NODO^.DER = NULL
entonces
Escribir “El nodo no se encuentra en el árbol”
si no
Regresar a BUSQUEDA con NODO^.DER e INFOR
{ Llamada recursiva)
1.3.2 (Fin del condicional del paso 1.3.1
si no
Escribir “El nodo se encuentra en el árbol”
1.4 { Fin del condicional del paso 1.3}
2. { Fin del condicional del paso 1}

BUSQUEDA1 (NODO, INFOR)
1. Si...
Leer documento completo

Regístrate para leer el documento completo.

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS