Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: ricardoacosta86 en 27 Julio 2010, 04:25 am



Título: Urgente problema Arbole binario de busqueda y combinatoria
Publicado por: ricardoacosta86 en 27 Julio 2010, 04:25 am
Buenas espero puedan ayudarme

Tengo un problema que resolver y de verdad no encuentro maneras eficientes de resolverlo, el problema es el siguiente:

Elaborar un programa que calcule el numero de permutaciones diferentes que existen para generar el mismo ABB

Ejemplo:
la secuencia  3 4 3 5 4

genera 5! permutaciones, de las cuales solo 3 generan el mismo arbol binario de busqueda

3, 4, 3, 5, 4
3, 4, 5, 4, 3
3, 4, 5, 3, 4

Como puedo eficientemente elaborar un programa que me calcule los arboles binario de busqueda iguales que se pueden generar con cualquier secuencia de numeros que ingrese.


Gracias espero su ayuda...


Título: Re: Urgente problema Arbole binario de busqueda y combinatoria
Publicado por: darkraider en 2 Agosto 2010, 13:46 pm
Si no entiendo mal tu pregunta, los distintos arboles se van a generar al elegir distintos nodos raices... la idea que se me ocurre: Mientras queden nodos por poner (nodos vivos), recorrer todos y tomarlos como raíz y escribir el árbol que generan. Eso llamado recursivamente usando como sucesor el que quita del conjunto de nodos vivos el nodo que se toma como raíz en cada llamada... Me explico?
Salu2


Título: Re: Urgente problema Arbole binario de busqueda y combinatoria
Publicado por: Beakman en 12 Agosto 2010, 05:06 am
Si no entendi mal tu pregunta, es una COMBINACION de X numeros tomados de a Y..

es decir, si se ingresa 1 2 3
tendria que devolver

123
132
213
231
312
321

no?