SlideShare una empresa de Scribd logo
1 de 23
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.
Para todo nodo T del árbol debe cumplirse que todos los valores de los nodos
Del sub árbol izquierdo serán menores o iguales al valor del nodoT. de forma
similar, todos los valores de los nodos del subárbol derecho de T deben ser
mayores o iguales al valor del nodo T.
87
120
140
43 99 130
1359322 65
56
87
120
140
43 99 130
1359322 65
56
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:
Recorrido Inorden: 27, 30, 56, 65, 87, 93, 99, 120, 130, 135, 140
87
120
140
43 99 130
1359322 65
56
P C Preguntas y Acciones
Ejemplo.
Suponga que se desea localizar la clave 93 en el árbol
binario de búsqueda, donde se representas los pasos (P)
uno a uno y el numero de comparaciones (C) y preguntas
Y acciones necesarias para localizar la clave 93.
Ejemplo Búsqueda.
87
120
140
43 99 130
1359322 65
56
P C Preguntas y Acciones
1 1
2
¿Es 93 < 120?
Sí ¿Es el subárbol izquierdo de 120 (87)=null?
No. Entonces regresamos a BUSQUEDA con el
subárbol izquierdo de 120 (87) e INFOR
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
1.2 { Fin del condicional del paso 1.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
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}
Ejemplo Búsqueda.
P C Preguntas y Acciones
1 1
2
¿Es 93 < 120?
Sí ¿Es el subárbol izquierdo de 120 (87)=null?
No. Entonces regresamos a BUSQUEDA con el
subárbol izquierdo de 120 (87) e INFOR
2 3
4
5
¿Es 93 < 87?
No. ¿Es 93 > 87?
Sí ¿Es el subárbol derecho de 87 (99)=null?
No. Entonces regresamos a BUSQUEDA con el
subárbol derecho de 87 (99) e INFOR
87
120
140
43 99 130
1359322 65
56
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
1.2 { Fin del condicional del paso 1.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
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}
Ejemplo Búsqueda.
P C Preguntas y Acciones
1 1
2
¿Es 93 < 120?
Sí ¿Es el subárbol izquierdo de 120 (87)=null?
No. Entonces regresamos a BUSQUEDA con el
subárbol izquierdo de 120 (87) e INFOR
2 3
4
5
¿Es 93 < 87?
No. ¿Es 93 > 87?
Sí ¿Es el subárbol derecho de 87 (99)=null?
No. Entonces regresamos a BUSQUEDA con el
subárbol derecho de 87 (99) e INFOR
3 6
7
¿Es 93 < 99?
Sí ¿Es el subárbol izquierdo de 99(93)=null?
No. Entonces se regresa a BÚSQUEDA con el
subárbol izquierdo de 99 (93) e INFOR
87
120
140
43 99 130
1359322 65
56
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
1.2 { Fin del condicional del paso 1.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
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}
Ejemplo Búsqueda.
P C Preguntas y Acciones
1 1
2
¿Es 93 < 120?
Sí ¿Es el subárbol izquierdo de 120 (87)=null?
No. Entonces regresamos a BUSQUEDA con el
subárbol izquierdo de 120 (87) e INFOR
2 3
4
5
¿Es 93 < 87?
No. ¿Es 93 > 87?
Sí ¿Es el subárbol derecho de 87 (99)=null?
No. Entonces regresamos a BUSQUEDA con el
subárbol derecho de 87 (99) e INFOR
3 6
7
¿Es 93 < 99?
Sí ¿Es el subárbol izquierdo de 99(93)=null?
No. Entonces se regresa a BÚSQUEDA con el
subárbol izquierdo de 99 (93) e INFOR
4 8
9
¿Es 93 < 93?
No. ¿Es 93 > 99?
No. Entonces Éxito “Clave 93 encontrada”
87
120
140
43 99 130
1359322 65
56
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
1.2 { Fin del condicional del paso 1.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
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}
Ejemplo Búsqueda.
87
120
140
43 99 130
1359322 65
56
Ejemplo 2.
Suponga que se desea localizar la clave 123 en el árbol
binario de búsqueda, donde se representas los pasos (P)
uno a uno y el numero de comparaciones (C) y preguntas
Y acciones necesarias para localizar la clave 123.
P C Preguntas y Acciones
Ejemplo Búsqueda.
87
120
140
43 99 130
1359322 65
56
P C Preguntas y Acciones
1 1
2
3
¿Es 123 < 120?
No. ¿Es 123 > 120?
Si. ¿Es el subárbol derecho de 120 (140)=null?
No. Entonces regresamos a BUSQUEDA con el
subárbol derecho de 120 (140) e INFOR
BUSQUEDA2 (NODO, INFOR)
1. Si NODO ≠ NULL
entonces
1.1 Si INFOR < NODO^.INFO
entonces
Regresa a BÚSQUEDA1 con NODO^.IZQ e INFOR
si no
1.1.1 Si INFOR > NODO^.INFO
entonces
Regresa a BÚSQUEDA1 con NODO^.DER e INFOR
si no
Escribir “El nodo se encuentra en el árbol”
1.1.2 {Fin del condicional del paso 1.1.1}
1.2 {Fin del condicional del paso 1.1}
si no
Escribir “El nodo no se encuentra en el árbol”
2. {Fin del condicional del paso 1}
Ejemplo Búsqueda.
87
120
140
43 99 130
1359322 65
56
P C Preguntas y Acciones
1 1
2
3
¿Es 123 < 120?
No. ¿Es 123 > 120?
Si. ¿Es el subárbol derecho de 120 (140)=null?
No. Entonces regresamos a BUSQUEDA con el
subárbol derecho de 120 (140) e INFOR
2 4
5
¿Es 123 < 140?
Si. ¿Es el subárbol derecho de 140 (130)=null?
No. Entonces regresamos a BUSQUEDA con el
subárbol izquierdo de 140 (130) e INFOR
BUSQUEDA2 (NODO, INFOR)
1. Si NODO ≠ NULL
entonces
1.1 Si INFOR < NODO^.INFO
entonces
Regresa a BÚSQUEDA1 con NODO^.IZQ e INFOR
si no
1.1.1 Si INFOR > NODO^.INFO
entonces
Regresa a BÚSQUEDA1 con NODO^.DER e INFOR
si no
Escribir “El nodo se encuentra en el árbol”
1.1.2 {Fin del condicional del paso 1.1.1}
1.2 {Fin del condicional del paso 1.1}
si no
Escribir “El nodo no se encuentra en el árbol”
2. {Fin del condicional del paso 1}
Ejemplo Búsqueda.
P C Preguntas y Acciones
1 1
2
3
¿Es 123 < 120?
No. ¿Es 123 > 120?
Si. ¿Es el subárbol derecho de 120 (140)=null?
No. Entonces regresamos a BUSQUEDA con el
subárbol derecho de 120 (140) e INFOR
2 4
5
¿Es 123 < 140?
Si. ¿Es el subárbol derecho de 140 (130)=null?
No. Entonces regresamos a BUSQUEDA con el
subárbol izquierdo de 140 (130) e INFOR
3 6
7
¿Es 123 < 130?
Sí ¿Es el subárbol izquierdo de 130(null)=null?
Si. Entonces FRACASO “El nodo no se encuentra en
el árbol”
87
120
140
43 99 130
1359322 65
56
BUSQUEDA2 (NODO, INFOR)
1. Si NODO ≠ NULL
entonces
1.1 Si INFOR < NODO^.INFO
entonces
Regresa a BÚSQUEDA1 con NODO^.IZQ e INFOR
si no
1.1.1 Si INFOR > NODO^.INFO
entonces
Regresa a BÚSQUEDA1 con NODO^.DER e INFOR
si no
Escribir “El nodo se encuentra en el árbol”
1.1.2 {Fin del condicional del paso 1.1.1}
1.2 {Fin del condicional del paso 1.1}
si no
Escribir “El nodo no se encuentra en el árbol”
2. {Fin del condicional del paso 1}
Ejemplo Búsqueda.
La inserción es una operación que se puede realizar eficientemente en un árbol
binario de búsqueda. La estructura crece conforme se inserten elementos al árbol.
Los pasos que deben realizarse para insertar un elemento a un árbol binario de
búsqueda son los siguientes:
1)Debe compararse la clave a insertar con la raíz del árbol. Si es mayor, debe
avanzarse hacia el subárbol derecho. Si es menor, debe avanzarse hacia el subárbol
izquierdo.
2) Repetir sucesivamente el paso 1 hasta que se cumpla alguna de las siguientes
condiciones:
2.1 El subárbol derecho es igual a vacío, o el subárbol izquierdo es igual a vació; en
cuyo caso se procederá a insertar el elemento en el lugar que le corresponde.
2.2 La clave que quiere insertarse es igual a la raíz del árbol; en cuyo caso no se realiza
la inserción.
Inserción
Supóngase que quieren insertarse las siguientes
claves en un árbol binario de búsqueda que se
encuentre vacío:
claves: 120, 87, 43, 65, 140, 99, 130, 22, 56
120 120
87
120
87
43
120
87
43
65
120
87
43
65
140
120
87
43
65
140
99
99
120
87
43
65
140
130 99
120
87
43
65
140
130
22
99
120
87
43
65
140
130
22
56
Nota: Las líneas gruesas indican el elemento que acaba de insertarse.
Ejemplo 3.
Suponga que se desea insertar la clave 93 en el árbol
binario de búsqueda, donde se representas los pasos (P)
uno a uno y el numero de comparaciones (C) y preguntas
Y acciones necesarias para insertar la clave 93 y mostrar
el árbol al final de la inserción.
99
120
87
43
65
140
130
22
56
P C Preguntas y Acciones
99
120
87
43
65
140
130
22
56
P C Preguntas y Acciones
1 1
2
¿Es 93 < 120?
Si.
Si. ¿Es el subárbol izquierdo de 120 (87)=null?
No. Entonces regresara INSERCION con el subárbol
izquierdo de 120 (87) e INFOR
INSERCIÓN (NODO, INFOR)
1. Si INFOR < NODO^.INFO
entonces
1.1 Si NODO^.IZQ = NIL
entonces
CREA (OTRO) {Crear un nuevo nodo}
Hacer OTRO^.IZQNIL, OTRO^.DERNIL, OTRO^.INFOINFOR y
NODO^.IZQOTRO
si no
Regresar a INSERCIÓN con NODO^.IZQ e INFOR {Llamada recursiva}
1.2 {Fin del condicional del paso 1.1}
si no
1.3 Si INFOR > NODO^.INFO
entonces
1.3.1 Si NODO^.DER =NIL
entonces
CREA (OTRO) {Crear un nuevo nodo}
Hacer OTRO^.IZQNIL, OTRO^.DERNIL, OTRO^.INFOINFOR y
NODO^.DEROTRO
si no
Regresar a INSERCIÓN con NODO^.DER e INFOR {Llamada recusiva}
1.3.2 {Fin del condicional del paso 1.3.1}
si no
Escribir “El nodo ya se encuentran en el árbol”
1.4 {Fin del condicional del paso 1.3}
2. {Fin del condicional del paso 1}
99
120
87
43
65
140
130
22
56
P C Preguntas y Acciones
1 1
2
¿Es 93 < 120?
Si.
Si. ¿Es el subárbol izquierdo de 120 (87)=null?
No. Entonces regresara INSERCION con el subárbol
izquierdo de 120 (87) e INFOR
2 3
4
5
¿Es 93 < 87?
No. ¿Es 93 > 87?
Si. ¿Es el subárbol derecho de 87(99)=null?
No. Entonces regresara INSERCION con el subárbol
derecho 87 (99) e INFOR
INSERCIÓN (NODO, INFOR)
1. Si INFOR < NODO^.INFO
entonces
1.1 Si NODO^.IZQ = NIL
entonces
CREA (OTRO) {Crear un nuevo nodo}
Hacer OTRO^.IZQNIL, OTRO^.DERNIL, OTRO^.INFOINFOR y
NODO^.IZQOTRO
si no
Regresar a INSERCIÓN con NODO^.IZQ e INFOR {Llamada recursiva}
1.2 {Fin del condicional del paso 1.1}
si no
1.3 Si INFOR > NODO^.INFO
entonces
1.3.1 Si NODO^.DER =NIL
entonces
CREA (OTRO) {Crear un nuevo nodo}
Hacer OTRO^.IZQNIL, OTRO^.DERNIL, OTRO^.INFOINFOR y
NODO^.DEROTRO
si no
Regresar a INSERCIÓN con NODO^.DER e INFOR {Llamada recusiva}
1.3.2 {Fin del condicional del paso 1.3.1}
si no
Escribir “El nodo ya se encuentran en el árbol”
1.4 {Fin del condicional del paso 1.3}
2. {Fin del condicional del paso 1}
P C Preguntas y Acciones
1 1
2
¿Es 93 < 120?
Si.
Si. ¿Es el subárbol izquierdo de 120 (87)=null?
No. Entonces regresara INSERCION con el subárbol
izquierdo de 120 (87) e INFOR
2 3
4
5
¿Es 93 < 87?
No. ¿Es 93 > 87?
Si. ¿Es el subárbol derecho de 87(99)=null?
No. Entonces regresara INSERCION con el subárbol
derecho 87 (99) e INFOR
3 6
7
¿Es 93 < 99?
Sí ¿Es el subárbol izquierdo de 99(null)=null?
Sí. Entonces crear otro nodo, realizar los enlaces y
cargar la información
INSERCIÓN (NODO, INFOR)
1. Si INFOR < NODO^.INFO
entonces
1.1 Si NODO^.IZQ = NIL
entonces
CREA (OTRO) {Crear un nuevo nodo}
Hacer OTRO^.IZQNIL, OTRO^.DERNIL, OTRO^.INFOINFOR y
NODO^.IZQOTRO
si no
Regresar a INSERCIÓN con NODO^.IZQ e INFOR {Llamada recursiva}
1.2 {Fin del condicional del paso 1.1}
si no
1.3 Si INFOR > NODO^.INFO
entonces
1.3.1 Si NODO^.DER =NIL
entonces
CREA (OTRO) {Crear un nuevo nodo}
Hacer OTRO^.IZQNIL, OTRO^.DERNIL, OTRO^.INFOINFOR y
NODO^.DEROTRO
si no
Regresar a INSERCIÓN con NODO^.DER e INFOR {Llamada recusiva}
1.3.2 {Fin del condicional del paso 1.3.1}
si no
Escribir “El nodo ya se encuentran en el árbol”
1.4 {Fin del condicional del paso 1.3}
2. {Fin del condicional del paso 1}
99
120
87
43
65
140
130
22
56 93
Ejemplo 3.
Suponga que se desea insertar la clave 135 en el árbol
binario de búsqueda, donde se representas los pasos (P)
uno a uno y el numero de comparaciones (C) y preguntas
Y acciones necesarias para insertar la clave 135 y mostrar
el árbol al final de la inserción.
P C Preguntas y Acciones
99
120
87
43
65
140
130
22
56 93
99
120
87
43
65
140
130
22
56 93INSERCIÓN1 (NODO INFOR)
1. Si NODO ≠ NIL
entonces
1.1 Si INFOR < NODO^.INFO
entonces
Regresar a INSERCIÓN1 con NODO^.IZQ e INFOR
si no
1.1.1 Si INFOR > NODO^.INFO
entonces
Regresar a INSERCIÓN1 con NODO^.DER e INFOR
si no
Escribir “El nodo ya se encuentra en el árbol”
1.1.2 {Fin del condicional del paso 1,1.1 }
1.2 { Fin del condicional del paso 1.1}
si no
CREA (OTRO) {Crear un nuevo nodo}
Hacer OTRO^.IZQNIL, OTRO^.DERNIL, OTRO^.INFOINFOR y
NODOOTRO
2. { Fin del condicional del paso 1}
P C Preguntas y Acciones
1 1
2
¿Es 135 < 120?
No. ¿Es 135 > 120?
Si. ¿Es el subárbol derecho de 120 (140)=null?
No. Entonces regresara INSERCION con el subárbol
derecho de 120 (140) e INFOR
99
120
87
43
65
140
130
22
56 93INSERCIÓN1 (NODO INFOR)
1. Si NODO ≠ NIL
entonces
1.1 Si INFOR < NODO^.INFO
entonces
Regresar a INSERCIÓN1 con NODO^.IZQ e INFOR
si no
1.1.1 Si INFOR > NODO^.INFO
entonces
Regresar a INSERCIÓN1 con NODO^.DER e INFOR
si no
Escribir “El nodo ya se encuentra en el árbol”
1.1.2 {Fin del condicional del paso 1,1.1 }
1.2 { Fin del condicional del paso 1.1}
si no
CREA (OTRO) {Crear un nuevo nodo}
Hacer OTRO^.IZQNIL, OTRO^.DERNIL, OTRO^.INFOINFOR y
NODOOTRO
2. { Fin del condicional del paso 1}
P C Preguntas y Acciones
1 1
2
¿Es 135 < 120?
No. ¿Es 135 > 120?
Si. ¿Es el subárbol derecho de 120 (140)=null?
No. Entonces regresara INSERCION con el subárbol
derecho de 120 (140) e INFOR
2 3
4
5
¿Es 135 < 140?
Sí ¿Es el subárbol izquierdo de 140(130)=null?
Si. ¿Es el subárbol derecho de 87(99)=null?
No. Entonces regresara INSERCION con el subárbol
izquierdo 140 (130) e INFOR
99
120
87
43
65
140
130
22
56 93INSERCIÓN1 (NODO INFOR)
1. Si NODO ≠ NIL
entonces
1.1 Si INFOR < NODO^.INFO
entonces
Regresar a INSERCIÓN1 con NODO^.IZQ e INFOR
si no
1.1.1 Si INFOR > NODO^.INFO
entonces
Regresar a INSERCIÓN1 con NODO^.DER e INFOR
si no
Escribir “El nodo ya se encuentra en el árbol”
1.1.2 {Fin del condicional del paso 1,1.1 }
1.2 { Fin del condicional del paso 1.1}
si no
CREA (OTRO) {Crear un nuevo nodo}
Hacer OTRO^.IZQNIL, OTRO^.DERNIL, OTRO^.INFOINFOR y
NODOOTRO
2. { Fin del condicional del paso 1}
P C Preguntas y Acciones
1 1
2
¿Es 135 < 120?
No. ¿Es 135 > 120?
Si. ¿Es el subárbol derecho de 120 (140)=null?
No. Entonces regresara INSERCION con el subárbol
derecho de 120 (140) e INFOR
2 3
4
5
¿Es 135 < 140?
Sí ¿Es el subárbol izquierdo de 140(130)=null?
Si. ¿Es el subárbol derecho de 87(99)=null?
No. Entonces regresara INSERCION con el subárbol
izquierdo 140 (130) e INFOR
3 6
7
8
¿Es 135 < 130?
No. ¿Es 135 > 120?
Si. ¿Es el subárbol derecho de 130(null)=null?
No. Entonces crear otro nodo, realizar los enlaces y
cargar la información
135

Más contenido relacionado

Similar a Arbol de busqueda (15)

Arboles02
Arboles02Arboles02
Arboles02
 
Algoritmos ordenación.pptx
Algoritmos ordenación.pptxAlgoritmos ordenación.pptx
Algoritmos ordenación.pptx
 
Sustentacion arboles
Sustentacion arbolesSustentacion arboles
Sustentacion arboles
 
Arboles
Arboles Arboles
Arboles
 
Arboles ppt
Arboles pptArboles ppt
Arboles ppt
 
04 curso-prope-py ed-arboles
04 curso-prope-py ed-arboles04 curso-prope-py ed-arboles
04 curso-prope-py ed-arboles
 
Metodos Busqueda Interna
Metodos Busqueda InternaMetodos Busqueda Interna
Metodos Busqueda Interna
 
Arboles ej
Arboles ejArboles ej
Arboles ej
 
Qué son las colas de prioridad
Qué son las colas de prioridadQué son las colas de prioridad
Qué son las colas de prioridad
 
Arboles
ArbolesArboles
Arboles
 
Arboles.pdf
Arboles.pdfArboles.pdf
Arboles.pdf
 
Teoría de árboles
Teoría de árbolesTeoría de árboles
Teoría de árboles
 
Examen De Estructura De Datos
Examen De Estructura De DatosExamen De Estructura De Datos
Examen De Estructura De Datos
 
UNIVERSIDAD TECNICA DE MANAB{I
UNIVERSIDAD TECNICA DE MANAB{IUNIVERSIDAD TECNICA DE MANAB{I
UNIVERSIDAD TECNICA DE MANAB{I
 
Estructura de datos unidad 4 y 5
Estructura de datos unidad 4 y 5Estructura de datos unidad 4 y 5
Estructura de datos unidad 4 y 5
 

Último

6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
Wilian24
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
amelia poma
 
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfPROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
EduardoJosVargasCama1
 

Último (20)

Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
AEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxAEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptx
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdf
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdf
FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdfFICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdf
FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdf
 
PP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomasPP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomas
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
La Evaluacion Formativa SM6 Ccesa007.pdf
La Evaluacion Formativa SM6  Ccesa007.pdfLa Evaluacion Formativa SM6  Ccesa007.pdf
La Evaluacion Formativa SM6 Ccesa007.pdf
 
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfPROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 

Arbol de busqueda

  • 1.
  • 2. 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.
  • 3. Para todo nodo T del árbol debe cumplirse que todos los valores de los nodos Del sub árbol izquierdo serán menores o iguales al valor del nodoT. de forma similar, todos los valores de los nodos del subárbol derecho de T deben ser mayores o iguales al valor del nodo T. 87 120 140 43 99 130 1359322 65 56
  • 4. 87 120 140 43 99 130 1359322 65 56 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: Recorrido Inorden: 27, 30, 56, 65, 87, 93, 99, 120, 130, 135, 140
  • 5. 87 120 140 43 99 130 1359322 65 56 P C Preguntas y Acciones Ejemplo. Suponga que se desea localizar la clave 93 en el árbol binario de búsqueda, donde se representas los pasos (P) uno a uno y el numero de comparaciones (C) y preguntas Y acciones necesarias para localizar la clave 93. Ejemplo Búsqueda.
  • 6. 87 120 140 43 99 130 1359322 65 56 P C Preguntas y Acciones 1 1 2 ¿Es 93 < 120? Sí ¿Es el subárbol izquierdo de 120 (87)=null? No. Entonces regresamos a BUSQUEDA con el subárbol izquierdo de 120 (87) e INFOR 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 1.2 { Fin del condicional del paso 1.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 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} Ejemplo Búsqueda.
  • 7. P C Preguntas y Acciones 1 1 2 ¿Es 93 < 120? Sí ¿Es el subárbol izquierdo de 120 (87)=null? No. Entonces regresamos a BUSQUEDA con el subárbol izquierdo de 120 (87) e INFOR 2 3 4 5 ¿Es 93 < 87? No. ¿Es 93 > 87? Sí ¿Es el subárbol derecho de 87 (99)=null? No. Entonces regresamos a BUSQUEDA con el subárbol derecho de 87 (99) e INFOR 87 120 140 43 99 130 1359322 65 56 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 1.2 { Fin del condicional del paso 1.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 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} Ejemplo Búsqueda.
  • 8. P C Preguntas y Acciones 1 1 2 ¿Es 93 < 120? Sí ¿Es el subárbol izquierdo de 120 (87)=null? No. Entonces regresamos a BUSQUEDA con el subárbol izquierdo de 120 (87) e INFOR 2 3 4 5 ¿Es 93 < 87? No. ¿Es 93 > 87? Sí ¿Es el subárbol derecho de 87 (99)=null? No. Entonces regresamos a BUSQUEDA con el subárbol derecho de 87 (99) e INFOR 3 6 7 ¿Es 93 < 99? Sí ¿Es el subárbol izquierdo de 99(93)=null? No. Entonces se regresa a BÚSQUEDA con el subárbol izquierdo de 99 (93) e INFOR 87 120 140 43 99 130 1359322 65 56 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 1.2 { Fin del condicional del paso 1.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 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} Ejemplo Búsqueda.
  • 9. P C Preguntas y Acciones 1 1 2 ¿Es 93 < 120? Sí ¿Es el subárbol izquierdo de 120 (87)=null? No. Entonces regresamos a BUSQUEDA con el subárbol izquierdo de 120 (87) e INFOR 2 3 4 5 ¿Es 93 < 87? No. ¿Es 93 > 87? Sí ¿Es el subárbol derecho de 87 (99)=null? No. Entonces regresamos a BUSQUEDA con el subárbol derecho de 87 (99) e INFOR 3 6 7 ¿Es 93 < 99? Sí ¿Es el subárbol izquierdo de 99(93)=null? No. Entonces se regresa a BÚSQUEDA con el subárbol izquierdo de 99 (93) e INFOR 4 8 9 ¿Es 93 < 93? No. ¿Es 93 > 99? No. Entonces Éxito “Clave 93 encontrada” 87 120 140 43 99 130 1359322 65 56 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 1.2 { Fin del condicional del paso 1.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 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} Ejemplo Búsqueda.
  • 10. 87 120 140 43 99 130 1359322 65 56 Ejemplo 2. Suponga que se desea localizar la clave 123 en el árbol binario de búsqueda, donde se representas los pasos (P) uno a uno y el numero de comparaciones (C) y preguntas Y acciones necesarias para localizar la clave 123. P C Preguntas y Acciones Ejemplo Búsqueda.
  • 11. 87 120 140 43 99 130 1359322 65 56 P C Preguntas y Acciones 1 1 2 3 ¿Es 123 < 120? No. ¿Es 123 > 120? Si. ¿Es el subárbol derecho de 120 (140)=null? No. Entonces regresamos a BUSQUEDA con el subárbol derecho de 120 (140) e INFOR BUSQUEDA2 (NODO, INFOR) 1. Si NODO ≠ NULL entonces 1.1 Si INFOR < NODO^.INFO entonces Regresa a BÚSQUEDA1 con NODO^.IZQ e INFOR si no 1.1.1 Si INFOR > NODO^.INFO entonces Regresa a BÚSQUEDA1 con NODO^.DER e INFOR si no Escribir “El nodo se encuentra en el árbol” 1.1.2 {Fin del condicional del paso 1.1.1} 1.2 {Fin del condicional del paso 1.1} si no Escribir “El nodo no se encuentra en el árbol” 2. {Fin del condicional del paso 1} Ejemplo Búsqueda.
  • 12. 87 120 140 43 99 130 1359322 65 56 P C Preguntas y Acciones 1 1 2 3 ¿Es 123 < 120? No. ¿Es 123 > 120? Si. ¿Es el subárbol derecho de 120 (140)=null? No. Entonces regresamos a BUSQUEDA con el subárbol derecho de 120 (140) e INFOR 2 4 5 ¿Es 123 < 140? Si. ¿Es el subárbol derecho de 140 (130)=null? No. Entonces regresamos a BUSQUEDA con el subárbol izquierdo de 140 (130) e INFOR BUSQUEDA2 (NODO, INFOR) 1. Si NODO ≠ NULL entonces 1.1 Si INFOR < NODO^.INFO entonces Regresa a BÚSQUEDA1 con NODO^.IZQ e INFOR si no 1.1.1 Si INFOR > NODO^.INFO entonces Regresa a BÚSQUEDA1 con NODO^.DER e INFOR si no Escribir “El nodo se encuentra en el árbol” 1.1.2 {Fin del condicional del paso 1.1.1} 1.2 {Fin del condicional del paso 1.1} si no Escribir “El nodo no se encuentra en el árbol” 2. {Fin del condicional del paso 1} Ejemplo Búsqueda.
  • 13. P C Preguntas y Acciones 1 1 2 3 ¿Es 123 < 120? No. ¿Es 123 > 120? Si. ¿Es el subárbol derecho de 120 (140)=null? No. Entonces regresamos a BUSQUEDA con el subárbol derecho de 120 (140) e INFOR 2 4 5 ¿Es 123 < 140? Si. ¿Es el subárbol derecho de 140 (130)=null? No. Entonces regresamos a BUSQUEDA con el subárbol izquierdo de 140 (130) e INFOR 3 6 7 ¿Es 123 < 130? Sí ¿Es el subárbol izquierdo de 130(null)=null? Si. Entonces FRACASO “El nodo no se encuentra en el árbol” 87 120 140 43 99 130 1359322 65 56 BUSQUEDA2 (NODO, INFOR) 1. Si NODO ≠ NULL entonces 1.1 Si INFOR < NODO^.INFO entonces Regresa a BÚSQUEDA1 con NODO^.IZQ e INFOR si no 1.1.1 Si INFOR > NODO^.INFO entonces Regresa a BÚSQUEDA1 con NODO^.DER e INFOR si no Escribir “El nodo se encuentra en el árbol” 1.1.2 {Fin del condicional del paso 1.1.1} 1.2 {Fin del condicional del paso 1.1} si no Escribir “El nodo no se encuentra en el árbol” 2. {Fin del condicional del paso 1} Ejemplo Búsqueda.
  • 14. La inserción es una operación que se puede realizar eficientemente en un árbol binario de búsqueda. La estructura crece conforme se inserten elementos al árbol. Los pasos que deben realizarse para insertar un elemento a un árbol binario de búsqueda son los siguientes: 1)Debe compararse la clave a insertar con la raíz del árbol. Si es mayor, debe avanzarse hacia el subárbol derecho. Si es menor, debe avanzarse hacia el subárbol izquierdo. 2) Repetir sucesivamente el paso 1 hasta que se cumpla alguna de las siguientes condiciones: 2.1 El subárbol derecho es igual a vacío, o el subárbol izquierdo es igual a vació; en cuyo caso se procederá a insertar el elemento en el lugar que le corresponde. 2.2 La clave que quiere insertarse es igual a la raíz del árbol; en cuyo caso no se realiza la inserción. Inserción
  • 15. Supóngase que quieren insertarse las siguientes claves en un árbol binario de búsqueda que se encuentre vacío: claves: 120, 87, 43, 65, 140, 99, 130, 22, 56 120 120 87 120 87 43 120 87 43 65 120 87 43 65 140 120 87 43 65 140 99 99 120 87 43 65 140 130 99 120 87 43 65 140 130 22 99 120 87 43 65 140 130 22 56 Nota: Las líneas gruesas indican el elemento que acaba de insertarse.
  • 16. Ejemplo 3. Suponga que se desea insertar la clave 93 en el árbol binario de búsqueda, donde se representas los pasos (P) uno a uno y el numero de comparaciones (C) y preguntas Y acciones necesarias para insertar la clave 93 y mostrar el árbol al final de la inserción. 99 120 87 43 65 140 130 22 56 P C Preguntas y Acciones
  • 17. 99 120 87 43 65 140 130 22 56 P C Preguntas y Acciones 1 1 2 ¿Es 93 < 120? Si. Si. ¿Es el subárbol izquierdo de 120 (87)=null? No. Entonces regresara INSERCION con el subárbol izquierdo de 120 (87) e INFOR INSERCIÓN (NODO, INFOR) 1. Si INFOR < NODO^.INFO entonces 1.1 Si NODO^.IZQ = NIL entonces CREA (OTRO) {Crear un nuevo nodo} Hacer OTRO^.IZQNIL, OTRO^.DERNIL, OTRO^.INFOINFOR y NODO^.IZQOTRO si no Regresar a INSERCIÓN con NODO^.IZQ e INFOR {Llamada recursiva} 1.2 {Fin del condicional del paso 1.1} si no 1.3 Si INFOR > NODO^.INFO entonces 1.3.1 Si NODO^.DER =NIL entonces CREA (OTRO) {Crear un nuevo nodo} Hacer OTRO^.IZQNIL, OTRO^.DERNIL, OTRO^.INFOINFOR y NODO^.DEROTRO si no Regresar a INSERCIÓN con NODO^.DER e INFOR {Llamada recusiva} 1.3.2 {Fin del condicional del paso 1.3.1} si no Escribir “El nodo ya se encuentran en el árbol” 1.4 {Fin del condicional del paso 1.3} 2. {Fin del condicional del paso 1}
  • 18. 99 120 87 43 65 140 130 22 56 P C Preguntas y Acciones 1 1 2 ¿Es 93 < 120? Si. Si. ¿Es el subárbol izquierdo de 120 (87)=null? No. Entonces regresara INSERCION con el subárbol izquierdo de 120 (87) e INFOR 2 3 4 5 ¿Es 93 < 87? No. ¿Es 93 > 87? Si. ¿Es el subárbol derecho de 87(99)=null? No. Entonces regresara INSERCION con el subárbol derecho 87 (99) e INFOR INSERCIÓN (NODO, INFOR) 1. Si INFOR < NODO^.INFO entonces 1.1 Si NODO^.IZQ = NIL entonces CREA (OTRO) {Crear un nuevo nodo} Hacer OTRO^.IZQNIL, OTRO^.DERNIL, OTRO^.INFOINFOR y NODO^.IZQOTRO si no Regresar a INSERCIÓN con NODO^.IZQ e INFOR {Llamada recursiva} 1.2 {Fin del condicional del paso 1.1} si no 1.3 Si INFOR > NODO^.INFO entonces 1.3.1 Si NODO^.DER =NIL entonces CREA (OTRO) {Crear un nuevo nodo} Hacer OTRO^.IZQNIL, OTRO^.DERNIL, OTRO^.INFOINFOR y NODO^.DEROTRO si no Regresar a INSERCIÓN con NODO^.DER e INFOR {Llamada recusiva} 1.3.2 {Fin del condicional del paso 1.3.1} si no Escribir “El nodo ya se encuentran en el árbol” 1.4 {Fin del condicional del paso 1.3} 2. {Fin del condicional del paso 1}
  • 19. P C Preguntas y Acciones 1 1 2 ¿Es 93 < 120? Si. Si. ¿Es el subárbol izquierdo de 120 (87)=null? No. Entonces regresara INSERCION con el subárbol izquierdo de 120 (87) e INFOR 2 3 4 5 ¿Es 93 < 87? No. ¿Es 93 > 87? Si. ¿Es el subárbol derecho de 87(99)=null? No. Entonces regresara INSERCION con el subárbol derecho 87 (99) e INFOR 3 6 7 ¿Es 93 < 99? Sí ¿Es el subárbol izquierdo de 99(null)=null? Sí. Entonces crear otro nodo, realizar los enlaces y cargar la información INSERCIÓN (NODO, INFOR) 1. Si INFOR < NODO^.INFO entonces 1.1 Si NODO^.IZQ = NIL entonces CREA (OTRO) {Crear un nuevo nodo} Hacer OTRO^.IZQNIL, OTRO^.DERNIL, OTRO^.INFOINFOR y NODO^.IZQOTRO si no Regresar a INSERCIÓN con NODO^.IZQ e INFOR {Llamada recursiva} 1.2 {Fin del condicional del paso 1.1} si no 1.3 Si INFOR > NODO^.INFO entonces 1.3.1 Si NODO^.DER =NIL entonces CREA (OTRO) {Crear un nuevo nodo} Hacer OTRO^.IZQNIL, OTRO^.DERNIL, OTRO^.INFOINFOR y NODO^.DEROTRO si no Regresar a INSERCIÓN con NODO^.DER e INFOR {Llamada recusiva} 1.3.2 {Fin del condicional del paso 1.3.1} si no Escribir “El nodo ya se encuentran en el árbol” 1.4 {Fin del condicional del paso 1.3} 2. {Fin del condicional del paso 1} 99 120 87 43 65 140 130 22 56 93
  • 20. Ejemplo 3. Suponga que se desea insertar la clave 135 en el árbol binario de búsqueda, donde se representas los pasos (P) uno a uno y el numero de comparaciones (C) y preguntas Y acciones necesarias para insertar la clave 135 y mostrar el árbol al final de la inserción. P C Preguntas y Acciones 99 120 87 43 65 140 130 22 56 93
  • 21. 99 120 87 43 65 140 130 22 56 93INSERCIÓN1 (NODO INFOR) 1. Si NODO ≠ NIL entonces 1.1 Si INFOR < NODO^.INFO entonces Regresar a INSERCIÓN1 con NODO^.IZQ e INFOR si no 1.1.1 Si INFOR > NODO^.INFO entonces Regresar a INSERCIÓN1 con NODO^.DER e INFOR si no Escribir “El nodo ya se encuentra en el árbol” 1.1.2 {Fin del condicional del paso 1,1.1 } 1.2 { Fin del condicional del paso 1.1} si no CREA (OTRO) {Crear un nuevo nodo} Hacer OTRO^.IZQNIL, OTRO^.DERNIL, OTRO^.INFOINFOR y NODOOTRO 2. { Fin del condicional del paso 1} P C Preguntas y Acciones 1 1 2 ¿Es 135 < 120? No. ¿Es 135 > 120? Si. ¿Es el subárbol derecho de 120 (140)=null? No. Entonces regresara INSERCION con el subárbol derecho de 120 (140) e INFOR
  • 22. 99 120 87 43 65 140 130 22 56 93INSERCIÓN1 (NODO INFOR) 1. Si NODO ≠ NIL entonces 1.1 Si INFOR < NODO^.INFO entonces Regresar a INSERCIÓN1 con NODO^.IZQ e INFOR si no 1.1.1 Si INFOR > NODO^.INFO entonces Regresar a INSERCIÓN1 con NODO^.DER e INFOR si no Escribir “El nodo ya se encuentra en el árbol” 1.1.2 {Fin del condicional del paso 1,1.1 } 1.2 { Fin del condicional del paso 1.1} si no CREA (OTRO) {Crear un nuevo nodo} Hacer OTRO^.IZQNIL, OTRO^.DERNIL, OTRO^.INFOINFOR y NODOOTRO 2. { Fin del condicional del paso 1} P C Preguntas y Acciones 1 1 2 ¿Es 135 < 120? No. ¿Es 135 > 120? Si. ¿Es el subárbol derecho de 120 (140)=null? No. Entonces regresara INSERCION con el subárbol derecho de 120 (140) e INFOR 2 3 4 5 ¿Es 135 < 140? Sí ¿Es el subárbol izquierdo de 140(130)=null? Si. ¿Es el subárbol derecho de 87(99)=null? No. Entonces regresara INSERCION con el subárbol izquierdo 140 (130) e INFOR
  • 23. 99 120 87 43 65 140 130 22 56 93INSERCIÓN1 (NODO INFOR) 1. Si NODO ≠ NIL entonces 1.1 Si INFOR < NODO^.INFO entonces Regresar a INSERCIÓN1 con NODO^.IZQ e INFOR si no 1.1.1 Si INFOR > NODO^.INFO entonces Regresar a INSERCIÓN1 con NODO^.DER e INFOR si no Escribir “El nodo ya se encuentra en el árbol” 1.1.2 {Fin del condicional del paso 1,1.1 } 1.2 { Fin del condicional del paso 1.1} si no CREA (OTRO) {Crear un nuevo nodo} Hacer OTRO^.IZQNIL, OTRO^.DERNIL, OTRO^.INFOINFOR y NODOOTRO 2. { Fin del condicional del paso 1} P C Preguntas y Acciones 1 1 2 ¿Es 135 < 120? No. ¿Es 135 > 120? Si. ¿Es el subárbol derecho de 120 (140)=null? No. Entonces regresara INSERCION con el subárbol derecho de 120 (140) e INFOR 2 3 4 5 ¿Es 135 < 140? Sí ¿Es el subárbol izquierdo de 140(130)=null? Si. ¿Es el subárbol derecho de 87(99)=null? No. Entonces regresara INSERCION con el subárbol izquierdo 140 (130) e INFOR 3 6 7 8 ¿Es 135 < 130? No. ¿Es 135 > 120? Si. ¿Es el subárbol derecho de 130(null)=null? No. Entonces crear otro nodo, realizar los enlaces y cargar la información 135