1 / 43

Árboles

Árboles. Grafo que no contiene ciclos, es decir es un grafo también acíclico, pero a su vez es conexo. Los bosques de árboles son un caso similar a los árboles, son acíclicos, pero no son conexos. Bosques.

Download Presentation

Árboles

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

  5. 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.

  6. 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.

  7. Si dos nodos tienen el mismo padre son hermanos.

  8. 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.

  9. 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.

  10. Á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).

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

  12. Árbol y árbol ordenado

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

  14. 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

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

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

  17. 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.

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

  19. Inorden

  20. La clave de la raíz se imprime después de los valores de sus subárboles Recorridos de árboles binariosPostorden

  21. Postorden

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

  23. Recorrido en preorden

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

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

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

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

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

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

  30. 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.

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

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

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

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

  35. 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. Recorrido en amplitud de un grafo

  36. 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.

  37. 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

  38. 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)

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

More Related