Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Arboles en Java
Por Michelle Torres - 6 December, 2016
4 min de lectura
Qué es un árbol
Un árbol se define como una colección de nodos donde cada uno además de almacenar información, guarda
las direcciones de sus sucesores.
Los árboles representan las estructuras no-lineales y dinámicas de datos más importantes en computación.
Dinámicas, puesto que la estructura árbol puede cambiar durante la ejecución de un programa.
No- lineales puesto que a cada elemento del árbol pueden seguirle varios elementos.
Tipos de Árboles
Árboles Binarios: Un árbol binario es un conjunto finito de elementos, el cual está vacío o dividido en tres
subconjuntos separados: raíz del árbol, subárbol izquierdo y subárbol derecho
Árbol de búsqueda binario auto-balanceable: Es el que intenta mantener su altura, o el número de niveles
de nodos bajo la raíz, tan pequeños como sea posible en todo momento, automáticamente
Árboles AVL: están siempre equilibrados de tal modo que para todos los nodos, la altura de la rama
izquierda no difiere en más de una unidad de la altura de la rama derecha o viceversa.
Árboles Rojo-Negro : Un árbol rojo-negro es un árbol binario de búsqueda en el que cada nodo tiene un
atributo de color cuyo valor es rojo o negro.
Árboles AA: utilizado para almacenar y recuperar información ordenada de manera eficiente
Árbol de segmento: es una estructura de datos en forma de árbol para guardar intervalos o segmentos.
Permite consultar cuál de los segmentos guardados contiene un punto.
Árboles Multicamino: es un árbol ordenado cuyos nodos deben tener un número específico de hijos.
Árboles B: Es un árbol de búsqueda que puede estar vacío o aquel cuyos nodos pueden tener varios hijos,
existiendo una relación de orden entre ellos.
Recorridos de Árboles
Preorden:
1. Visitar la Raíz
2. Recorrer el subarbol izquierdo
3. Recorrer el subarbol derecho
Inorden:
Postorden:
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
1 package pruebaarbol.model;
2
3 /**
4 *
5 * @author Daniel
6 */
7 public class Nodo {
8 //Variables
9 private int dato;
10 private Nodo izq;
11 private Nodo der;
12
//Constructor
13
public Nodo(int dato){
14
this.dato = dato;
15
}
16
//Para saber el nodo izquierdo
17
public Nodo getNodoIzquierdo(){
18
return izq;
19
}
20 //Para saber el nodo derecho
21 public Nodo getNodoDerecho(){
22 return der;
23 }
24 //Se crea nodo derecho
25 public void setNodoDerecho(Nodo nodo){
26 der = nodo;
}
27 //Se crea nodo Izquierdo
28 public void setNodoIzquierdo(Nodo nodo){
29 izq = nodo;
30 }
31 public int getDato(){
32 return dato;
33 }
34 }
35
36
37
Si te gustó este artículo, te ha servido o aprendiste algo nuevo; compártelo en tus redes sociales o
invítame un cafe.
Like this:
Michelle Torres
Líder técnico en equipos de desarrollo de software. Profesor de Desarrollo Web en la Universidad de Guadalajara. Emprendedora.
Fundadora y CTO de CORB.mx. Ponente y tallerista. Colaboradora en proyectos de software libre y Open Source. Comprometida con la
comunidad y la industria de la tecnología. Enfocada en el empoderamiento de las mujeres.