Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Arboles
1. REPUBLICA BOLIVARIANA DE VENEZUELA
MINISTERIO DEL PODER POPULAR PARA LA EDUACION SUPERIOR
CABIMAS, EDO-ZULIA
2. En Informática y ciencias de la
computación, un árbol es una
estructura de datos no lineal
ampliamente usada que imita la
forma de un árbol (un conjunto de
nodos conectados) un nodo es la
unidad sobre la que se construye el
árbol y puede tener cero o mas
nodos hijos conectados a él, es
decir, cada nodo puede apuntar a
uno o varios nodos. Ejemplo:
Nodo base: raíz del árbol
1
3
4
7 5
9
17
29 44
69
3. Tipos de Arboles
*Binario
Son arboles donde cada nodo solo
puede apuntar a dos nodos.
* Binario de búsqueda
Son arboles binarios ordenados.
* Arboles B
Arboles cuyos nodos pueden tener
un numero múltiple de hijos.
5. Definición de las clases
Clase Arbol
public class Arbol {
String nombre;
NodoArbol raiz;
public Arbol () {
nombre = null;
raiz = null;
}
}
Clase NodoArbol
public class NodoArbol {
int clave;
NodoArbol iz;
NodoArbol de;
public NodoArbol () {
clave = 0;
iz = null;
de = null;
}
}
6. Recorrido en Preorden.
Aplicado a objetos de la clase Arbol:
// Escribe las claves del árbol binario en preorden.
static void preOrden (NodoArbol arbol) {
if (arbol != null) {
System.out.print (arbol.clave+" ") ;
preOrden (arbol.iz);
preOrden (arbol.de);
}
}
public void preorden () {
preorden (raiz);
}
Orden de visita de nodos:
1, 2, 4, 9, 15, 5, 3, 8 y 7.
Preferido para:
Búsquedas.
1
3
arbol nombre
4
2
5 8 7
9 15
raiz
7. Recorrido en Orden Central
Aplicado a objetos de la clase Arbol:
arbol
// Escribe las claves del árbol binario en orden central.
static void ordenCentral (NodoArbol arbol) {
if (arbol != null) {
ordenCentral (arbol.iz);
System.out.print (arbol.clave+" ");
ordenCentral (arbol.de);
}
}
public void ordenCentral () {
ordenCentral (raiz);
}
Orden de visita de nodos:
9, 4, 15, 2, 5, 1, 8, 3 y 7.
Preferido para:
nombre
raiz
1
3
4
2
5 8 7
9 15
Recorrido de acuerdo al orden físico de los nodos.
En árboles binarios de búsqueda recupera la secuencia.
8. Recorrido en Postorden
Aplicado a objetos de la clase Arbol:
// Escribe las claves del árbol binario en postorden.
static void postOrden (NodoArbol arbol) {
if (arbol != null) {
postOrden (arbol.iz);
postOrden (arbol.de);
System.out.print (arbol.clave + " ") ;
}
}
public void postOrden () {
postOrden (raiz);
}
Orden de visita de nodos:
9, 15, 4, 5, 2, 8, 7, 3 y 1.
Preferido para:
Liberar memoria.
Nodos buscados en los niveles
más bajos del árbol.
1
3
arbol nombre
4
2
5 8 7
9 15
raiz
9. Árbol sobre Matriz: clases.
Clase NodoArbol Clase Arbol
class NodoArbol {
int clave, izq, der;
NodoArbol () {
clave = 0;
izq = -1;
der = -1;
}
}
public class ArbolMatriz {
final int NULL = -1, N = 10;
NodoArbol [ ] matriz;
int numNodos;
ArbolMatriz () {
matriz = new NodoArbol [N];
for (int i = 0; i < N; i++)
matriz [i] = new NodoArbol ();
numNodos = 0;
}