[ Foro de Pascal ]
buenas queria pedir el favor al profesor si puede orientarme en como puedo realizar un programa que me permita generar todas las permutaciones de una cadena de caracteres?
y si podias explicarme que diferencia hay si se le asigna una ordenacion a los caracteres asignado un numero unico que denote la posicion de su ordenamiento?
agradezco cualquier pista y detalles que puedan brindarme ...
Mira aquí una introducción al backtracking:
http://nachocabanes.blogspot.com.es/2013/04/busqueda-exhaustiva-backtracking.html
Y aquí justo lo que preguntas:
http://nachocabanes.blogspot.com.es/2013/04/busqueda-exhaustiva-acercamiento.html
;-)
hola nacho, tu link es muy avanzado para mi, queria tu ayuda a un nivel mas bajo de priciante, si puede ser te lo agradezco muchisimo
Ok, si quieres que hagamos algo "exclusivo" para ese problema, intentando que sea lo más sencillo posible, vamos primero a intentar simplificar el problema...
Si partes de una cadena como "hoy", confírmame que la solución que buscas es
hoy
hyo
ohy
oyh
yho
yoh
Es decir, todos los posibles cambios de orden de las letras, sin repetir ninguna. Si hacemos un algoritmo genérico, ten en cuenta que te puede dar casos duplicados si hay letras duplicadas. Por ejemplo, para "yo" deberías obtener "oy" y "yo", porque sólo hay dos cambios de orden, pero para "oo" obtendrás "oo" y "oo", al menos en un primer acercamiento, si no haces un proceso adicional que elimine duplicados.
Además, ¿qué debes hacer con los resultados? ¿Mostrarlos en pantalla? ¿Guardarlos en alguna estructura?
Gracias Nacho, ya lo resolvio el profesor de la catedra pues los estudiantes teniamos muchas dudas en este ejercicio que habia dejado de analisis como practica al examen, pero al final lo resolvio. Que buen foro es este.
Pues comparte la solución, para que otros puedan aprender de ella! ;-)
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)