La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Árboles (Trees) Árboles Árboles binarios Recorridos de árboles

Presentaciones similares


Presentación del tema: "Árboles (Trees) Árboles Árboles binarios Recorridos de árboles"— Transcripción de la presentación:

1 Árboles (Trees) Árboles Árboles binarios Recorridos de árboles
Estructuras de datos para árboles

2 Árboles Un árbol representa una jeraquía ejemplos:
estructura organizativa de una empresa tabla de contenido de un libro

3 Árboles (1) Sistema de ficheros de Unix o DOS/Windows

4 Árboles (2) Representación: Conjuntos anidados
Paréntesis anidados (A ( B (D ( I ), E, F (J, K ) ), C (G. H ( L ) ) ) ) Indentación Grafo Representación más usual: grafo

5 Árboles (3)

6 Ejemplo A es el nodo raíz B es el padre de D y E C es el hermano de B
D y E son los hijos de B D, E, F, G, I son nodos externos o hojas (No tienen hijos) B, C, H son nodos internos La profundidad (nivel) de E es 2 La altura del árbol es 3 El grado del nodo B es 2 (número de descendientes directos) El grado del árbol es 3 (máximo grado de todos los nodos) Propiedad: (#aristas) = (#nodos) - 1

7 Árboles binarios Árbol ordenado: el hijo de cada nodo está en un cierto orden Árbol binario: árbol ordenado con todos los nodos internos de grado 2 Definición recursiva de árbol binario: Un árbol binario es: - un nodo externo (hoja) o - un nodo interno (la raíz) y dos árboles binarios (subárbol izquierdo y subárbol derecho)

8 Ejemplos de Árboles Binarios
expresión aritmética río especial

9 Ejemplos de Árboles Binarios
Árboles de decisión

10 Árboles binarios distintos
Dos árboles binarios son distintos cuando sus estructuras son diferentes. Ej.

11 Árboles binarios similares
Dos árboles binarios son similares cuando sus estructuras son idénticas, pero la información que contienen sus nodos difieren entre sí.

12 Árboles binarios equivalentes
Dos árboles binarios equivalentes se definen como aquellos que son similares y además los nodos contienen la misma información.

13 Árboles binarios completos
Se define un árbol binario completo como un árbol en el que todos sus nodos, excepto los de último nivel, tienen dos hijos; el subárbol izquierdo y el subárbol derecho

14 Recorrido de árboles (1)
recorrido preorder Algoritmo preOrder(v) “visitar” nodo v for each hijo w de v do realizar recursivamente preOrder(w) Ejm: lectura de un documento desde el inicio hasta el final

15 Recorrido de árboles (2)
recorrido postorder Algoritmo postOrder(v) for each hijo w de v do realizar recursivamente postOrder(w) “visitar” nodo v comando du (disk usage) de Unix

16 Evaluación de Expresiones Aritméticas
especialización de recorrido postorder Algoritmo evaluateExpression(v) if v es un nodo externo return la variable almacenada en v else asignar a o el operador almacenado en v x  evaluateExpression(leftChild(v)) y  evaluateExpression(rightChild(v)) return x o y

17 Recorrido de árboles (3)
recorrido inorder de un árbol binario Algoritmo inOrder(v) realizar recursivamente inOrder(leftChild(v)) “visitar” nodo v realizar recursivamente inOrder(rightChild(v)) impresión de una expresión aritmética especialización de un recorrido inorder print “(“ antes de recorrer el subárbol izquierdo print “)” antes de recorrer el subárbol derecho

18 Recorrido de árboles (4)
1 2 3 4 5 6 7 8 9 10 Inorden: Preorden: Postorden:

19 Recorrido de Euler en Arboles Binarios
Recorrido genérico de un árbol binario los recorridos preorder, inorder, y postorder son casos especiales del recorrido de Euler “caminar alrededor” del árbol y visitar cada nodo tres veces: a la izquierda desde abajo a la derecha

20 Representación de árboles binarios en memoria

21 Representación de árboles binarios en memoria

22 Estructura de Datos para Arboles Binarios mediante nodos enlazados


Descargar ppt "Árboles (Trees) Árboles Árboles binarios Recorridos de árboles"

Presentaciones similares


Anuncios Google