NODOS CORRESPONDIENTES A ARBOLES
Los arboles
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
puede seguirlo varios elementos.
CARACTERÍSTICAS Y PROPIEDADES DE LOS ARBOLES EN GENERAL:






a
A continuación presentaremos los diagramas de UML, para la clase árbol y para el nodo árbol
PROGRAMACIÓN DE LA CLASE ÁrbolBinario EN JAVA
public class ArbolBinario
{
private int informacion;
private ArbolBinario der;
private ArbolBinario Izq;
//Constructores de la clase//...
ArbolBinario()
{
Izq=null;
der=null;
}
ArbolBinario(int x)
{
informacion=x;
Izq=null;
der=null;
}
/**
* @return the informacion
*/
public int getInformacion() {
return informacion;
}
/**
* @param informacion the informacion to set
*/
public void setInformacion(int informacion) {
this.informacion = informacion;
}
public ArbolBinario getDer() {
return der;
}
/**
* @param der the der to set
*/
public void setDer(ArbolBinario der) {
this.der = der;
}
/**
* @return the Izq
*/
public ArbolBinario getIzq() {
return Izq;
}
/**
* @param Izq the Izq to set
*/
public void setIzq(ArbolBinario Izq) {
this.Izq = Izq;
}}
CLASE ÁRBOL
package ArbolBusqueda;
public class Arbol
{
private ArbolBinario raiz;
//CONSTRUCTOR DE LA CLASE...
Arbol(){
raiz=null;
}
public ArbolBinario getraiz(){
return raiz;
}
public void setraiz(ArbolBinario x){
raiz=x;
}
//METODO RECURSIVO, R ES LA RAIZ, DATO ES EL VALOR A INSERTAR
public ArbolBinario Insertar(ArbolBinario r, int dato)
{
if(r==null){
//CREAMOS EL NODO QUE VAMOS A INSERTAR...
r= new ArbolBinario(dato);
}
else{
if(dato < r.getInformacion()){
r.setIzq(Insertar(r.getIzq(), dato));
}
else{
r.setDer(Insertar(r.getDer(), dato));
}
}
return r;
}
public String inOrden(ArbolBinario r)
{
String cadena=new String();
if(r!=null){
cadena=cadena + inOrden(r.getIzq());
cadena=cadena + String.valueOf(r.getInformacion()+" ");
cadena=cadena + inOrden(r.getDer());
}
return cadena;
}
public String preOrden(ArbolBinario r)
{
String cadena=new String();
if(r!=null){
cadena=cadena + String.valueOf(r.getInformacion()+" ");
cadena=cadena + preOrden(r.getIzq());
cadena=cadena + preOrden(r.getDer());
}
return cadena;
}
public String postOrden(ArbolBinario r)
{
String cadena=new String();
if(r!=null){
cadena=cadena + postOrden(r.getIzq());
cadena=cadena + postOrden(r.getDer());
cadena=cadena + String.valueOf(r.getInformacion()+" ");
}
return cadena;
}
}
CLASE PruebaArbol
package ArbolBusqueda;
import javax.swing.JOptionPane;
public class PruebaArboL {
public static void main(String []arg)
{
Arbol x;
x=new Arbol();
x.setraiz(x.Insertar(x.getraiz(),50));
x.setraiz(x.Insertar(x.getraiz(),150));
x.setraiz(x.Insertar(x.getraiz(),250));
x.setraiz(x.Insertar(x.getraiz(),30));
x.setraiz(x.Insertar(x.getraiz(),40));
x.setraiz(x.Insertar(x.getraiz(),55));
x.setraiz(x.Insertar(x.getraiz(),75));
x.setraiz(x.Insertar(x.getraiz(),10));
x.setraiz(x.Insertar(x.getraiz(),110));
x.setraiz(x.Insertar(x.getraiz(),88));
x.setraiz(x.Insertar(x.getraiz(),03));
x.setraiz(x.Insertar(x.getraiz(),42));
x.setraiz(x.Insertar(x.getraiz(),9));
x.setraiz(x.Insertar(x.getraiz(),15));
x.setraiz(x.Insertar(x.getraiz(),96));
JOptionPane.showMessageDialog(null,"el recorrido del arbol en inorden es: \n "+ x.inOrden(x.getraiz()));
JOptionPane.showMessageDialog(null,"el recorrido del arbol en preorden es: \n "+ x.preOrden(x.getraiz()));
JOptionPane.showMessageDialog(null,"el recorrido del arbol en postorden es: \n "+ x.postOrden(x.getraiz()));
}
}
CONCLUSIÓN
Llegamos a la conclusión que el concepto de árbol implica una estructura en la que los datos se organizan
de modo que los elementos de información están relacionados entre sí a través de ramas.
Un árbol consta de un conjunto finito de elementos, llamados nodos y de un conjunto finito de
líneas dirigidas, llamadas ramas que conectan los nodos.
Un árbol es un conjunto de uno o más nodos tales que: hay un nodo especial llamado raíz y los
restantes se dividen en n ≥ 0 conjuntos disjuntos tal que cada uno de estos conjuntos es un árbol
y se los conoce como árboles.
No hay comentarios.:
Publicar un comentario