Diferencia entre revisiones de «Árbol (informática)»

Contenido eliminado Contenido añadido
Diegusjaimes (discusión · contribs.)
m Revertidos los cambios de 190.35.132.18 a la última edición de AVBOT
Línea 20:
== Tipos de árboles ==
 
[[Image:binary_tree_(oriented digraph).png|right|192|thumb|Eje==Definición==Ejemplo de árbol (binario).]]
Formalmente, podemos definir un árbol de la siguiente forma:
:
 
* [[Árbol_binario|Árboles Binarios]]
* Caso base: un árbol con sólo un nodo (es a la vez raíz del árbol y hoja).
* [[Árbol de búsqueda binario auto-balanceable]]
 
** [[Árbol_rojo-negro|Árboles Rojo-Negro]]
* Un nuevo árbol a partir de un nodo <math>n_r</math> y <math>k</math> árboles <math>A_1, A_2 \dots A_k</math> de raíces <math>n_1, n_2, \dots, n_k</math> con <math>N_1, N_2, \dots ,N_k</math> elementos cada uno, puede construirse estableciendo una relación padre-hijo entre <math>n_r</math> y cada una de las raíces de los <math>k</math> árboles. El árbol resultante de <math>N = 1 + N_1 + \dots + N_k</math> nodos tiene como raíz el nodo <math>n_r</math>, los nodos <math>n_1, n_2, \dots, n_k</math> son los hijos de <math>n_r</math> y el conjunto de nodos hoja está formado por la unión de los <math>k</math> conjuntos hojas iniciales. A cada uno de los árboles <math>A_i</math> se les denota ahora '''subárboles''' de la raíz.
** [[Árbol AVL|Árboles AVL]]
 
* [[Árbol-B|Árboles B]]
Una sucesión de nodos del árbol, de forma que entre cada dos nodos consecutivos de la sucesión haya una relación de parentesco, decimos que es un '''recorrido''' árbol. Existen dos recorridos típicos para listar los nodos de un árbol: '''primero en profundidad''' y '''primero en anchura'''. En el primer caso, se listan los nodos expandiendo el hijo actual de cada nodo hasta llegar a una hoja, donde se vuelve al nodo anterior probando por el siguiente hijo y así sucesivamente. En el segundo, por su parte, antes de listar los nodos de nivel <math>n+1</math> (a distancia <math>n+1</math> aristas de la raíz), se deben haber listado todos los de nivel <math>n</math>. Otros recorridos típicos del árbol son '''preorden''', '''postorden''' e '''inorden''':
** [[Árbol-B+]]
* El recorrido en '''preorden''', también llamado '''orden previo''' consiste en recorrer en primer lugar la raíz y luego cada uno de los hijos <math>A_1, A_2 \dots A_k</math> en orden previo.
** [[Árbol-B*]]
* El recorrido en '''inorden''', también llamado '''orden simétrico''' (aunque este nombre sólo cobra significado en los árboles binarios) consiste en recorrer en primer lugar <math>A_1</math>, luego la raíz y luego cada uno de los hijos <math>A_2 \dots A_k</math> en orden simétrico.
* [[Árbol multicamino|Árboles Multicamino]]
* El recorrido en '''postorden''', también llamado '''orden posterior''' consiste en recorrer en primer lugar cada uno de los hijos <math>A_1, A_2 \dots A_k</math> en orden posterior y por último la raíz.
 
 
Finalmente, puede decirse que esta estructura es una representación del concepto de árbol en [[teoría de los grafos|teoría de grafos]]. Un árbol es un grafo '''conexo''' y '''acíclico''' (ver también [[teoría de los grafos|teoría de grafos]] y [[Glosario en teoría de grafos]]).
mplo de árbol (binario).]]
 
*
 
== Operaciones de árboles. Representación ==