La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Árboles Grafo que no contiene ciclos, es decir es un grafo también acíclico, pero a su vez es conexo.

Presentaciones similares


Presentación del tema: "Árboles Grafo que no contiene ciclos, es decir es un grafo también acíclico, pero a su vez es conexo."— Transcripción de la presentación:

1 Árboles Grafo que no contiene ciclos, es decir es un grafo también acíclico, pero a su vez es conexo.

2 Bosques Los bosques de árboles son un caso similar a los árboles, son acíclicos, pero no son conexos

3 Grafo Conexo Un grafo conexo es un grafo no dirigido de modo que para cualquier par de nodos existe al menos un camino que los une".

4

5 Árbol enraizado Un árbol enraizado es un árbol libre con un vértice (o nodo) distinguido denominado raíz.

6 Si existe un camino de un nodo x a un nodo y en un árbol T, se dice que x es antecesor de y, y que y es sucesor de x.

7 Si (x, y) es el último arco en el camino desde la raíz r del árbol T hasta el nodo y, entonces x es el padre de y, e y es el hijo de x. La raíz es el único nodo en T que no tiene padre.

8 Si dos nodos tienen el mismo padre son hermanos.

9

10 Un nodo sin hijos lo denominaremos hoja.
El resto son nodos internos. El grado de un nodo es el número de hijos que tiene.

11 Se llama profundidad de un nodo a la longitud del camino desde la raíz hacia ese nodo.
La altura de un árbol es la profundidad del nodo más profundo.

12 ÁRBOLES BINARIOS Un árbol binario es un árbol en el que el máximo número de hijos de cada nodo es 2 (hijo izquierdo e hijo derecho).

13 Representación de expresiones algebraicas ((a-6)*b)/(c-a)

14 Árbol y árbol ordenado

15 Un árbol binario es: Lleno si todos los nodos tienen 2 hijos no vacíos excepto los del último nivel que son hojas.

16 Completo cada nivel i, o<i<h-1 tiene 2 nodos
Los nodos del nivel h-1 con hijos están a la izquierda. No existen hijos únicos

17 Homogéneo si cada nodo tiene 0 o 2 hijos
Un árbol binario es: Homogéneo si cada nodo tiene 0 o 2 hijos

18 Recorridos de árboles binarios
A veces puede interesar un recorrido sistemático y eficiente de todos los nodos del árbol

19

20 Coste de todos los algoritmos q(n), siendo n el número de nodos del árbol después de la llamada inicial, la función se llama recursivamente exactamente 2 veces para cada nodo del árbol: una vez para su hijo izquierdo y otra para su hijo derecho.

21 Recorridos de árboles binarios: Inorden
La clave de la raíz se imprime entre los valores de su subárbol izquierdo y derecho.

22 Inorden

23 Recorridos de árboles binarios Postorden
La clave de la raíz se imprime después de los valores de sus subárboles

24 Postorden

25 Recorrido de árboles binarios: Preorden
La clave de la raíz se imprime antes de los valores de sus subárboles.

26 Recorrido en preorden

27 Ejemplo de árboles binarios: árbol de expresiones
Utilización de la estructura AB para representar expresiones aritméticas con operadores binarios

28 Raíz: operador principal
Nodos internos: operadores de subexpresiones Hojas: operandos (niveles: precedencia relativa de evaluación)

29

30 Recorridos de grafos Método para recorrer de forma sistemática y eficiente un grafo.

31 Recorrido en profundidad:
Generalización del recorrido en preorden de un árbol

32 Recorrido en amplitud:
Generalización del recorrido en niveles de un árbol

33 En todos los algoritmos de recorrido de grafos supondremos que el grafo está implementado con listas de adyacencia

34 Recorrido en profundidad de un grafo
Dado un grafo G = (V,A) y un v´ertice v 2 V , la estrategia de recorrido en profundidad (Depth-First Search (DFS)), explora sistemáticamente las aristas de G de manera que primero se visitan los vértices adyacentes a los visitados más recientemente.

35 De esta forma, se va profundizando en el grafo; es decir, alejándose progresivamente de v.

36 Este proceso continúa hasta que todos los vértices alcanzables desde el vértice de la llamada original han sido descubiertos.

37 Esta estrategia admite una implementación simple de forma recursiva y proporciona:
Ordenamientos de los vértices. Clasificación de las aristas.

38 Algunas aplicaciones:
Calcular un posible orden topológico y comprobar si el grafo es acíclico. Encontrar las componentes fuertemente conexas de un grafo.

39 Recorrido en amplitud de un grafo
Dado un grafo G = (V,A) y un vértice s∊ V, la estrategia de recorrido en amplitud o en anchura (Breadth-First Search (BFS)), explora sistemáticamente las aristas de G de manera que primero se visitan los vértices más cercanos a v.

40 Algunos algoritmos importantes de grafos tienen una estructura similar al BFS. Por ejemplo, el algoritmo de Dijkstra para encontrar los caminos más cortos desde un vértice dado.

41 a distancia k + 1. El algoritmo BFS explora todos los vértices a distancia k del vértice origen s antes de empezar a explorar los vértices

42 Al igual que DFS, se utiliza un vector de tipo “color” para marcar los vértices del grafo como no visitados (WHITE), visitándose (GRAY) o ya visitados (BLACK)

43 También se genera un vector de predecesores para obtener un árbol.


Descargar ppt "Árboles Grafo que no contiene ciclos, es decir es un grafo también acíclico, pero a su vez es conexo."

Presentaciones similares


Anuncios Google