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
También podría definirse un árbol, teniendo un grafo
-
es un grafo sin circuitos simples, pero si se agrega una arista a resulta un grafo con exactamente un circuito simple, y ese circuito contiene a . -
Existe exactamente un camino entre todo par de nodos.
-
es conexo, pero si se quita cualquier arista a queda un grafo no conexo (es decir, toda arista es puente). -
es un grafo sin circuitos simples y . -
es conexo y
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
Un árbol enraizado se dice
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
Un árbol se dice balanceado si todas sus hojas están a nivel
Decimos que dos vértices adyacentes tienen relación padre-hijo, siendo el padre el vértice de menor nivel.
Arboles generadores
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)