SlideShare uma empresa Scribd logo
1 de 53
 
MiEmpresa Ventas Producción Portátiles Pc’s Ve Internacional Europa Asia América
 
A B C D E F G I H Nodo RAIZ
A B C D E F G H C: es padre de F y G F y G son Hijos de C F y G son hermanos
A B C D E F G H D: Es un nodo interno H: es un nodo hoja
A B C D E F G H Subárbol Izquierdo de B Subárbol derecho de B
A B C D E F G H Nivel 0 Nivel 1 Nivel 2 Nivel 3
A B C D E F G H I J K
A B C D E F G H I J K Nodo Altura Nivel Grado A 3 0 2 B 2 1 2 C 2 1 3 D 1 2 2 E 0 2 0 F 1 2 1 G 0 2 0 H 0 2 0 I 0 3 0 J 0 3 0 K 0 3 0
A B C D E F G H I
A B C D E F G H I A B C D E F G H I J K
A B C D E F G H I A C B E D F G H I
A C B D E F G H I A C B D E F G H I
A B C D E F G H I J 1  2  3  4  5  6  7  8  9  10 A(i) es el nodo padre del nodo i A(4)=B es el nodo padre del nodo D 0 1 1 2 2 5 5 5 3 3
Enlace Izquierdo Información Enlace Derecho
+ * ^ A B / 35 C D - A - + ^ * - B - B 35
A B C D E F G H
 
A B C D E F G H RECORRIDO: D,B
A B C D E F G H RECORRIDO: D,B,A
A B C D E F G H RECORRIDO: D,B,A,G
A B C D E F G H RECORRIDO: D,B,A,G,E
A B C D E F G H RECORRIDO: D,B,A,G,E,H
A B C D E F G H RECORRIDO: D,B,A,G,E,H,C
RECORRIDO: D,B,A,G,E,H,C,F. A B C D E F G H
A B C D E F G H
 
A B C D E F G H RECORRIDO: A,B
A B C D E F G H RECORRIDO: A,B,D
A B C D E F G H RECORRIDO: A,B,D,C
A B C D E F G H RECORRIDO: A,B,D,C,E
A B C D E F G H RECORRIDO: A,B,D,C,E,G
A B C D E F G H RECORRIDO: A,B,D,C,E,G,H
RECORRIDO: A,B,D,C,E,G,H,F A B C D E F G H
A B C D E F G H
 
A B C D E F G H RECORRIDO: D,B
A B C D E F G H RECORRIDO: D,B,G
A B C D E F G H RECORRIDO: D,B,G,H
A B C D E F G H RECORRIDO: D,B,G,H,E
A B C D E F G H RECORRIDO: D,B,G,H,E,F
A B C D E F G H RECORRIDO: D,B,G,H,E,F,C
RECORRIDO: D,B,G,H,E,F,C,A. A B C D E F G H
[object Object],[object Object],[object Object]
TYPE TipoPuntero = TipoNodoABB; TipoNodoABB = RECORD info : TipoInfo; izquierdo : TipoPuntero; derecho: TipoPuntero; End; Crear un ABB vacío. Procedure InicializaArbol(var RaizArbol: TipoPuntero); Begin RaizArbol := NulL; End;
Procedure Insertar_arbol_binario( var Raizarbol:  TipoPuntero;InfoNodo: TipoInfo); Var NuevoNodo: TipoPuntero; (*puntero para nodo nuevo*) Ptr, Anterior:TipoPuntero; (* usado para buscar en el ABB*) ClaveNueva: TipoClave;(* clave del nuevo nodo a insertar*) BEGIN (* Crear un nuevo nodo*) New(NuevoNodo);  NuevoNodo^.izquierdo:= NIL; NuevoNodo^.derecho:= NIL; NuevoNodo^.info:= InfoNodo; (* Buscar el lugar de inserción*) ptr: = RaizArbol; Anterior: = NIL;
While ptr <> NIL Do begin anterior : = ptr; if ptr^.info.clave > ClaveNueva then ptr := ptr^.izquierdo else ptr := ptr^.derecho end; if anterior = NIL then raizarbol = NuevoNodo else if anterior^.info.clave > ClaveNueva then anterior^.izquierdo: = Nuevonodo else anterior^.derecho: = Nuevonodo END;
Eliminar elementos ya existentes. (a)Eliminación de un nodo hoja sólo consiste  en anular el puntero de su nodo padre (b)Eliminación de un nodo con un hijo,  es necesario reasignar el puntero del padre hacia el hijo. (c)Eliminación de un nodo con dos hijos :  Reemplazar el nodo que deseamos suprimir con el nodo de valor  más próximo al valor del nodo suprimido.  Así será posible hacer el reemplazo por  &quot;El mayor más cercano&quot; o &quot;El menor más cercano&quot;,  dependiendo de qué subárbol sea escogido el nodo.
Procedure SuprimirNodo (Var RaízArbol : Tipo_Puntero;  ptr, anterior: Tipo_ Puntero); (* Suprime el nodo apuntado por Ptr sobre el árbol binario con puntero  RaizArbol, Anterior es un puntero al nodo padre  ( NIL si el nodo a suprimir es el nodo Raiz*) Var temp: Tipo_Puntero; BEGIN (*Caso b.1 Supresión de una hoja*) if(ptr^.derecho = NIL) AND (ptr^.izquierdo = NIL) then IF Anterior = NIL then (*Nodo(ptr) es el último en el árbol) RaizArbol:= NIL else if anterior^.derecho = Ptr then anterior^.derecho : = NIL else anterior^.izquierdo: = NIL
Else (* Caso b.3 supresión de nodo con dos hijos*) if(ptr^.derecho <> NIL) AND (ptr^.izquierdo <> NIL) then begin (* Encontrar el valor para reemplazar, valor más próximo al eliminado*) anterior: = ptr; temp := ptr^.izquierdo; While temp^.derecho<> NIL Do begin anterior:= temp; temp : = temp^.derecho end;
(* Copiar la información a reemplazar en el nodo*) ptr^.info:= temp^.info; if anterior = Ptr then anterior^.izquierdo:= temp^.izquierdo else anterior^.derecho:= temp^.izquierdo; ptr:= temp; end
else (* Caso b.2 Nodo con un hijo*) (* Inicializa uno de los campos punteros de nodo (anterior) dependiendo si tiene un hijo a la derecha o izquierda*) if ptr^.derecho <>NIL then (* Hay un hijo derecho*) if anterior = NIL then RaizArbol:= Ptr^.derecho else if anterior^.derecho=ptr then anterior^.derecho := ptr^.derecho else anterior^.izquierdo := ptr^.derecho else(* hay un hijo izquierdo*) if anterior = NIL then RaizArbol:= Ptr^.izquierdo else if anterior^.derecho=ptr then anterior^.derecho := ptr^.izquierdo else anterior^.izquierdo := ptr^.izquierdo; dispose (ptr); END;

Mais conteúdo relacionado

Mais de Jose Miguel Torres Mendoza (8)

Representacion de Conocimiento en I.A
Representacion de Conocimiento en I.ARepresentacion de Conocimiento en I.A
Representacion de Conocimiento en I.A
 
Diseño de software
Diseño de softwareDiseño de software
Diseño de software
 
Diseño de software
Diseño de softwareDiseño de software
Diseño de software
 
Mantenimiento de sistemas
Mantenimiento de sistemasMantenimiento de sistemas
Mantenimiento de sistemas
 
Calidad de software
Calidad de softwareCalidad de software
Calidad de software
 
Auditoria de sistemas
Auditoria de sistemasAuditoria de sistemas
Auditoria de sistemas
 
Diseño del proyecto sistemas II
Diseño del proyecto sistemas IIDiseño del proyecto sistemas II
Diseño del proyecto sistemas II
 
Arboles
ArbolesArboles
Arboles
 

Último

5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
MiNeyi1
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
JonathanCovena1
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
patriciaines1993
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
El Fortí
 

Último (20)

Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJOACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
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
 
Infografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdfInfografía EE con pie del 2023 (3)-1.pdf
Infografía EE con pie del 2023 (3)-1.pdf
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 

Arboles

  • 1.  
  • 2. MiEmpresa Ventas Producción Portátiles Pc’s Ve Internacional Europa Asia América
  • 3.  
  • 4. A B C D E F G I H Nodo RAIZ
  • 5. A B C D E F G H C: es padre de F y G F y G son Hijos de C F y G son hermanos
  • 6. A B C D E F G H D: Es un nodo interno H: es un nodo hoja
  • 7. A B C D E F G H Subárbol Izquierdo de B Subárbol derecho de B
  • 8. A B C D E F G H Nivel 0 Nivel 1 Nivel 2 Nivel 3
  • 9. A B C D E F G H I J K
  • 10. A B C D E F G H I J K Nodo Altura Nivel Grado A 3 0 2 B 2 1 2 C 2 1 3 D 1 2 2 E 0 2 0 F 1 2 1 G 0 2 0 H 0 2 0 I 0 3 0 J 0 3 0 K 0 3 0
  • 11. A B C D E F G H I
  • 12. A B C D E F G H I A B C D E F G H I J K
  • 13. A B C D E F G H I A C B E D F G H I
  • 14. A C B D E F G H I A C B D E F G H I
  • 15. A B C D E F G H I J 1 2 3 4 5 6 7 8 9 10 A(i) es el nodo padre del nodo i A(4)=B es el nodo padre del nodo D 0 1 1 2 2 5 5 5 3 3
  • 17. + * ^ A B / 35 C D - A - + ^ * - B - B 35
  • 18. A B C D E F G H
  • 19.  
  • 20. A B C D E F G H RECORRIDO: D,B
  • 21. A B C D E F G H RECORRIDO: D,B,A
  • 22. A B C D E F G H RECORRIDO: D,B,A,G
  • 23. A B C D E F G H RECORRIDO: D,B,A,G,E
  • 24. A B C D E F G H RECORRIDO: D,B,A,G,E,H
  • 25. A B C D E F G H RECORRIDO: D,B,A,G,E,H,C
  • 27. A B C D E F G H
  • 28.  
  • 29. A B C D E F G H RECORRIDO: A,B
  • 30. A B C D E F G H RECORRIDO: A,B,D
  • 31. A B C D E F G H RECORRIDO: A,B,D,C
  • 32. A B C D E F G H RECORRIDO: A,B,D,C,E
  • 33. A B C D E F G H RECORRIDO: A,B,D,C,E,G
  • 34. A B C D E F G H RECORRIDO: A,B,D,C,E,G,H
  • 36. A B C D E F G H
  • 37.  
  • 38. A B C D E F G H RECORRIDO: D,B
  • 39. A B C D E F G H RECORRIDO: D,B,G
  • 40. A B C D E F G H RECORRIDO: D,B,G,H
  • 41. A B C D E F G H RECORRIDO: D,B,G,H,E
  • 42. A B C D E F G H RECORRIDO: D,B,G,H,E,F
  • 43. A B C D E F G H RECORRIDO: D,B,G,H,E,F,C
  • 45.
  • 46. TYPE TipoPuntero = TipoNodoABB; TipoNodoABB = RECORD info : TipoInfo; izquierdo : TipoPuntero; derecho: TipoPuntero; End; Crear un ABB vacío. Procedure InicializaArbol(var RaizArbol: TipoPuntero); Begin RaizArbol := NulL; End;
  • 47. Procedure Insertar_arbol_binario( var Raizarbol: TipoPuntero;InfoNodo: TipoInfo); Var NuevoNodo: TipoPuntero; (*puntero para nodo nuevo*) Ptr, Anterior:TipoPuntero; (* usado para buscar en el ABB*) ClaveNueva: TipoClave;(* clave del nuevo nodo a insertar*) BEGIN (* Crear un nuevo nodo*) New(NuevoNodo); NuevoNodo^.izquierdo:= NIL; NuevoNodo^.derecho:= NIL; NuevoNodo^.info:= InfoNodo; (* Buscar el lugar de inserción*) ptr: = RaizArbol; Anterior: = NIL;
  • 48. While ptr <> NIL Do begin anterior : = ptr; if ptr^.info.clave > ClaveNueva then ptr := ptr^.izquierdo else ptr := ptr^.derecho end; if anterior = NIL then raizarbol = NuevoNodo else if anterior^.info.clave > ClaveNueva then anterior^.izquierdo: = Nuevonodo else anterior^.derecho: = Nuevonodo END;
  • 49. Eliminar elementos ya existentes. (a)Eliminación de un nodo hoja sólo consiste en anular el puntero de su nodo padre (b)Eliminación de un nodo con un hijo, es necesario reasignar el puntero del padre hacia el hijo. (c)Eliminación de un nodo con dos hijos : Reemplazar el nodo que deseamos suprimir con el nodo de valor más próximo al valor del nodo suprimido. Así será posible hacer el reemplazo por &quot;El mayor más cercano&quot; o &quot;El menor más cercano&quot;, dependiendo de qué subárbol sea escogido el nodo.
  • 50. Procedure SuprimirNodo (Var RaízArbol : Tipo_Puntero; ptr, anterior: Tipo_ Puntero); (* Suprime el nodo apuntado por Ptr sobre el árbol binario con puntero RaizArbol, Anterior es un puntero al nodo padre ( NIL si el nodo a suprimir es el nodo Raiz*) Var temp: Tipo_Puntero; BEGIN (*Caso b.1 Supresión de una hoja*) if(ptr^.derecho = NIL) AND (ptr^.izquierdo = NIL) then IF Anterior = NIL then (*Nodo(ptr) es el último en el árbol) RaizArbol:= NIL else if anterior^.derecho = Ptr then anterior^.derecho : = NIL else anterior^.izquierdo: = NIL
  • 51. Else (* Caso b.3 supresión de nodo con dos hijos*) if(ptr^.derecho <> NIL) AND (ptr^.izquierdo <> NIL) then begin (* Encontrar el valor para reemplazar, valor más próximo al eliminado*) anterior: = ptr; temp := ptr^.izquierdo; While temp^.derecho<> NIL Do begin anterior:= temp; temp : = temp^.derecho end;
  • 52. (* Copiar la información a reemplazar en el nodo*) ptr^.info:= temp^.info; if anterior = Ptr then anterior^.izquierdo:= temp^.izquierdo else anterior^.derecho:= temp^.izquierdo; ptr:= temp; end
  • 53. else (* Caso b.2 Nodo con un hijo*) (* Inicializa uno de los campos punteros de nodo (anterior) dependiendo si tiene un hijo a la derecha o izquierda*) if ptr^.derecho <>NIL then (* Hay un hijo derecho*) if anterior = NIL then RaizArbol:= Ptr^.derecho else if anterior^.derecho=ptr then anterior^.derecho := ptr^.derecho else anterior^.izquierdo := ptr^.derecho else(* hay un hijo izquierdo*) if anterior = NIL then RaizArbol:= Ptr^.izquierdo else if anterior^.derecho=ptr then anterior^.derecho := ptr^.izquierdo else anterior^.izquierdo := ptr^.izquierdo; dispose (ptr); END;