Un árbol es una estructura de datos muy importante en el mundo de la programación, sin embargo el tipo de árbol que se usa comúnmente por sus propiedades es el árbol binario (árbol donde cada nodo tiene a lo máximo 2 nodos descendientes o nodos hijo). Es muy natural definir arboles n-arios (arboles donde los nodos pueden tener cualquier cantidad de hijos) y para usar las propiedades de los arboles binarios hacer la respectiva conversión.
Si tenemos como inicio al siguiente árbol n-ario, el algoritmo de conversión es muy sencillo y se explicara gráficamente a continuación:
Empezamos por la raíz, la raíz sigue siendo la misma para el árbol binario, a continuación el hijo mas de la izquierda de la raíz para a ser hijo inmediato izquierdo de la raíz y los demás hijos de la raíz se van colocando por orden.
El segundo hijo de la raíz pasa a ser hijo derecho del primer hijo, y asi sucesivamente con los demás hijos que pasan a ser hijos derechos siempre se su hermano anterior.
Luego pasamos a hacer lo mismo con los hijos de la raíz. Empezamos con el nodo B (en este ejemplo) y colocamos a su primer hijo de mas a la izquierda cono su hijo inmediato a la izquierda y los demás a la derecha de manera consecutiva.
Pasamos al siguiente nodo (Nodo F en este ejemplo) al otro hijo que tienes hijos, y hacemos lo mismo.
hola disculpa daniel a mi me pidieron algo parecido a lo que describes anteriormente pero en c++ sera me podrias ayudar soy un poco novata en c++ gracias jessi
ResponderEliminar¡Muchas gracias! Estoy con un examen mañana y me ha caído perfecto el contenido.
ResponderEliminarMuchas Gracias por la informacion
ResponderEliminarMuchas gracias por la info:D
ResponderEliminarMe interesa el codigo en Java desarrollado en el IDE NetBeans
ResponderEliminar