Materia: #técnicas_y_diseños_de_algoritmos

Tags: Estructura, Grafos, Arboles binarios

Arboles

Llamamos árbol a un grafo conexco sin circuitos simples.

Una arista e de un árbol G es puente si Ge tiene más componentes conexas que G. Por otro lado, un vértice v de G es un punto de corte o punto de articulación si Gv tiene más componentes conexas que G.

También podría definirse un árbol, teniendo un grafo G=(V,X) como:

Llamamos hoja a los nodos de grado 1. Todo árbol no trivial tiene al menos dos hojas.

flowchart TD

name(Es un árbol)

id1(( ))
id2(( ))
id3(( ))
id4(( ))
id5(( ))
id6(( ))
id7(( ))
id8(( ))

id1 --- id2
id1 --- id3
id3 --- id4
id3 --- id5
id2 --- id6
id2 --- id7
id2 --- id8
flowchart LR

name(No es un árbol)

id1(( ))
id2(( ))
id3(( ))

id1 --- id2
id2 --- id3
id3 --- id1

Arboles enraizados

Un árbol enraizado es un árbol que tiene un vértice distinguido que llamamos raíz. Explícitamente queda definido un dígrafo.

El nivel de un vértice es la distancia de la raíz a ese vértice. La altura h de un árbol es el máximo nivel de sus vértices. Los vértices internos de un árbol enraizado son aquellos que no son ni hojas ni la raíz.

Un árbol enraizado se dice mario si todos sus vértices internos tienen grado a lo sumo m+1 y su raíz a lo sumo m. Un árbol enraizado pasa a ser exactamente mario si todos sus vértices internos tienen grado m+1 y su raíz m.

flowchart TD

name(Árbol enraizado binario completo)

id1((R))
id2(( ))
id3(( ))
id4(( ))
id5(( ))
id6(( ))
id7(( ))

id1 --- id2
id1 --- id3
id3 --- id4
id3 --- id5
id2 --- id6
id2 --- id7

En el dibujo se ve un árbol enraizado binario (donde la raíz seria el nodo R) de altura 2.

Un árbol se dice balanceado si todas sus hojas están a nivel h o h1. A su vez, llamamos balanceado completo a los arboles en que todas sus hojas están a nivel h. El dibujo de antes, representa un árbol balanceado.

Decimos que dos vértices adyacentes tienen relación padre-hijo, siendo el padre el vértice de menor nivel.

Un árbol mario de altura h tiene a lo sumo mh hojas. Alcanza dicha cota si es un árbol exactamente mario balanceado completo con h1. También, despejando la ecuación de antes, podemos decir que un árbol m-ario con I hojas tiene hlogmI.


Arboles generadores

Un árbol generador AG de un grafo G es un subgrafo generador (que tiene el mismo conjunto de vértices) de G que es un árbol. Todo grafo conexo tiene (al menos) un árbol generador.

flowchart TD

name(Grafo)

id1((1))
id2((2))
id3((3))
id4((4))
id5((5))

id1 --- id2
id1 --- id3
id3 --- id4
id3 --- id5
id2 --- id3
id1 --- id5

id6((1))
id7((2))
id8((3))
id9((4))
id0((5))

id6 --- id7
id6 --- id8
id8 --- id9
id8 --- id0

tree(Arbol generador)
G conexo y G tiene un único árbol generador G es un árbol