Sie sind auf Seite 1von 43

rboles

Grafo que no contiene ciclos, es decir es un grafo tambin acclico, pero a su vez es conexo.

Bosques Los bosques de rboles son un caso similar a los rboles, son acclicos, pero no son conexos

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

rbol enraizado
Un rbol enraizado es un rbol libre con un vrtice (o nodo) distinguido denominado raz.

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

un un es es

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

Si dos nodos tienen el mismo padre son hermanos.

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

Se llama profundidad de un nodo a la longitud del camino desde la raz hacia ese nodo. La altura de un rbol es la profundidad del nodo ms profundo.

RBOLES BINARIOS Un rbol binario es un rbol en el que el mximo nmero de hijos de cada nodo es 2 (hijo izquierdo e hijo derecho).

Representacin de expresiones algebraicas ((a-6)*b)/(c-a)

rbol y rbol ordenado

Un rbol binario es:


Lleno si todos los nodos tienen 2 hijos no vacos excepto los del ltimo nivel que son hojas.

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

Un rbol binario es:

Homogneo si cada nodo tiene 0 o 2 hijos

Recorridos de rboles binarios


A veces puede interesar un recorrido sistemtico y eficiente de todos los nodos del rbol

Coste de todos los algoritmos q(n), siendo n el nmero de nodos del rbol despus de la llamada inicial, la funcin se llama recursivamente exactamente 2 veces para cada nodo del rbol: una vez para su hijo izquierdo y otra para su hijo derecho.

Recorridos de rboles binarios: Inorden

La clave de la raz se imprime entre los valores de su subrbol izquierdo y derecho.

Inorden

Recorridos de rboles binarios Postorden La clave de la raz se imprime despus de los valores de sus subrboles

Postorden

Recorrido de rboles binarios: Preorden

La clave de la raz se imprime antes de los valores de sus subrboles.

Recorrido en preorden

Ejemplo de rboles binarios: rbol de expresiones

Utilizacin de la estructura AB para representar expresiones aritmticas con operadores binarios

Raz: operador principal Nodos internos: operadores de subexpresiones Hojas: operandos (niveles: precedencia relativa de evaluacin)

Recorridos de grafos
Mtodo para recorrer de forma sistemtica y eficiente un grafo.

Recorrido en profundidad: Generalizacin del recorrido en preorden de un rbol

Recorrido en amplitud: Generalizacin del recorrido en niveles de un rbol

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

Recorrido en profundidad de un grafo Dado un grafo G = (V,A) y un vertice v 2 V , la estrategia de recorrido en profundidad (Depth-First Search (DFS)), explora sistemticamente las aristas de G de manera que primero se visitan los vrtices adyacentes a los visitados ms recientemente.

De esta forma, se va profundizando en el grafo; es decir, alejndose progresivamente de v.

Este proceso contina hasta que todos los vrtices alcanzables desde el vrtice de la llamada original han sido descubiertos.

Esta estrategia admite una implementacin simple de forma recursiva y proporciona: Ordenamientos de los vrtices. Clasificacin de las aristas.

Algunas aplicaciones: Calcular un posible orden topolgico y comprobar si el grafo es acclico. Encontrar las componentes fuertemente conexas de un grafo.

Recorrido en amplitud de un grafo


Dado un grafo G = (V,A) y un vrtice s V, la estrategia de recorrido en amplitud o en anchura (Breadth-First Search (BFS)), explora sistemticamente las aristas de G de manera que primero se visitan los vrtices ms cercanos a v.

Algunos algoritmos importantes de grafos tienen una estructura similar al BFS. Por ejemplo, el algoritmo de Dijkstra para encontrar los caminos ms cortos desde un vrtice dado.

a distancia k + 1. El algoritmo BFS explora todos los vrtices a distancia k del vrtice origen s antes de empezar a explorar los vrtices

Al igual que DFS, se utiliza un vector de tipo color para marcar los vrtices del grafo como no visitados (WHITE), visitndose (GRAY) o ya visitados (BLACK)

Tambin se genera un vector de predecesores para obtener un rbol.

Das könnte Ihnen auch gefallen