arbol general a binario en c++

eleph

Lanero Novato
14 Feb 2005
15
hola necesito ayuda pork tengo ke cambiar un arbol general a binario y nose como se usa el arbol general...gracias :|
 
Un árbol general es aquella estructura de datos en árbol en la que guardas información en los nodos sin seguir una regla especial, simplemente, por ejemplo, siguiendo la estructura de un XML o algo parecido. Para pasar de un árbol general a binario propongo la siguiente solución:

1. Recorrer el árbol general (como tu quieras, inroden, etc)
2. Guardar los datos de los nodos en una lista
3. Ordenar la lista
4. Tomar el dato de la mita de la lista como raíz del árbol binario y eliminarlo de la lista
5. Recorrer la lista e ir insertando los nodos de acuerdo con las reglas del árbol binario: en el subárbol de la izquierda de la raíz los valores menores, en el subárbol de la derecha de la raíz los valores mayores.

De esta manera es muy probable que el árbol binario te quede totalmente balanceado, evitando el riesgo de que el árbol te quede como una lista simple.
 
Diablos estoy dando C++ y no tengo ni idea de que es eso o para que sirve...... pero no importa.....cuando yo sea un duro en c++ lo mas dificil para mi será lo mas facil!!!!!!!!!1


jejejeje ... SuertEx ;)
 
mm la idea es pasar un arbol n-ario a un arbol binario?, hay que hacer el TAD o hay se puede usar otra forma, le sugiero que busque arbol avl que es un arbol que se balancea y hay una implementacion de TAD, creo que es en el libro de Joyanes de estructuras en C donde esta y se puede hacer la conversion de c a c++, este libro es muy bueno para explicar los arboles ycomo se balancean siendo binarios o n-arios donde hay que usar una lista para poder balancear los n-arios.
 

Los últimos temas