Ayuda con Arboles binarios en Java.. ¿¿¿crearlos en arreglos???

jacker60

Bovino Milenario
#1
Hola bakunos, casi nunca ando por aqui pidiendo ayuda pero ahora si no entendí que es lo que quiere mi profesor, nos pidio crear arboles binarios en Java (no soy experto en Java :( ), usando netbeans, bueno los libros me ayudaron a crearlos y ya funciona asi como lo encontre en los libros (bueno hubo que hacer algunos cambios y shalala... incluso hay algunos ejemplos ahi adentro jaja)

me anexo un documento con los cambios que quiere que haga... espero alguien me indique el camino del bien :), no pido que me lo hagan, solo una explicacion a ver si ustedes le entienden o algun ejemplo de como se implementaria en la busqueda por ejemplo

Gracias de antemano


Dentro esta el proyecto en netbeans (para que vean que si he trabajado jaja xD) y el PDF con las observaciones que me hicieron, espero puedan ayudarme :vientos:

http://www.mediafire.com/?753w341cckndyns
 
#2
a ver :p
lo que te piden es que cambies tu arbol de nodos(con hijo izquierdo y derecho) a un solo arreglo(que esta en orden como aparecerian tus nodos en un recorrido por niveles o por amplitud)
la explicacion esta chistosa pero lo importante son las formulitas que te dan para calcular el padre y los hijos de un nodo(indice N dentro del arreglo)

entonces si empezamos con un arreglo vacio el algoritmo de insertar seria igual excepto que en lugar de recorrer nodos avanzariamos un indice dentro del arreglo ejemplo:
toma en cuenta el arbol de tu pdf
digamos que quieres insertar 70
empezamos en el nodo raiz(indice 0)
el valor en 0 es 50 luego nos movemos al nodo derecho = 2 * 0(el indice del nodo actual) + 2 = 2
el valor en el nodo 2 es 75, que es mayor a 70 y luego nos movemos al nodo izquierdo = 2 * 2(actual) + 1 = 5
el valor en nodo 5 es 62 y vamos a la derecha = 12
12 es nulo y podemos insertar aqui

espero que la explicacion te sirva, yo nunca mire algo asi y me dio curiosidad
saludos xD
 

jacker60

Bovino Milenario
#3
Ooook, bueno medio entiendo la idea, jajaja, o sea se que tiene que ser con arreglos, pero el problema es que no se como implementarlos en java, hasta donde recuerdo en mis clases me decian "en java no hay arreglos" no se si lo decian en serio, o solo me lo dijeron para espantarnos, creo es mas lo segundo jajaja, creo entiendo un poco mas la idea, faltara que busque mas ejemplos pero ahora en arreglos jaja :/

Se siguen aceptando ideas :D
 
#5
si que existen los arreglos en java, a mi no me quedó muy claro si había que usar arreglos, mas bien aclara que hay que implementar ciertas operaciones; una de las cosas por las que se utilizan los arboles binarios, es aprovecharse de las estructuras y utilizar los punteros... bueno hasta donde me acuerdo, si lo tienes en un arreglo, bueno, pues entonces ya no sirven mucho los apuntadores (la base de cualquier lista /árbol), java ya tiene los objetos básicos, e incluso creo que ya tiene la implementación del árbol binario,... solo que te piden que resuelvas, para que entiendas como funciona el árbol binario. Bueno, eso opino yo, de cualquier modo no me hagas mucho caso :p.
 

jacker60

Bovino Milenario
#6
Oh rayos jajaja, es que si esta un poco complicado a mi forma de ver, creo debi haber sacado un libro pal puente jajajajaja y aprovechar un poco xD, lo bueno que java ya tiene implementado varias cosas como dices Yax.... grax grax, si alguien tiene algun libro sobre esto me ayudara mucho n_n
 

jacker60

Bovino Milenario
#8
Entonces tal vez me confundi con los apuntadores.... mmm rayos eso pasa por no poner atencion en las clases jaja, alguien tiene alguna recomendacion de un libro donde traten los arboles? para ir a buscarlo :p
 
Arriba