Diferencia entre revisiones de «Programación dinámica/Problema del cambio de palabra (programación dinámica en Java)»

Contenido eliminado Contenido añadido
m + hoja suelta
Drinibot (discusión | contribs.)
m Bot: Fixing redirects; cambios triviales
Línea 2:
{{a wikilibros}}
El '''problema del cambio de palabra''' se produce cuando siendo "u" y "v" dos palabras ([[Cadena de caracteres|cadenas de caracteres]]). Se desea transformar u en v con el mínimo número de operaciones básicas del tipo siguiente: eliminar un carácter, añadir un carácter, y cambiar un carácter. Por ejemplo, podemos pasar de abbac a abcbc en tres pasos:
* abbac _ abac (eliminamos b en la posición 3)
* _ ababc (añadimos b en la posición 4)
* _ abcbc (cambiamos a en la posición 3 por c)
 
Sin embargo, esta tranformación no es óptima. Lo que queremos en este caso es [[Diseño|diseñar]] un [[algoritmo]] que calcule el número mínimo de operaciones, de esos tres tipos, necesarias para transformar u en v y cuáles son esas operaciones. En el caso anterior se podría llevar a cabo con dos operaciones nada más:
* abbac → abcac (cambiamos b en la posición 3 por c)
* →abcbc (cambiamos a en la posición 4 por b)
 
== Código ==
Línea 123:
{
char aux[];
int pos=0;
aux= new char[v.length];
for ( int i=0; i<u.length;i++)
Línea 132:
{
if ( u[i]== v[pos])
{ printf("este codigo no esta 100% terminado");
aux[pos]= v[pos];
pos++;
Línea 201:
== Véase también ==
 
* [[Programación dinámica (computación)]]
* [[Programación dinámica/Problema de la mochila con programación dinámica|Problema de la mochila con programación dinámica]]
* [[Programación dinámica/Problema de las monedas con programación dinámica|Problema de las monedas con programación dinámica]]
 
[[Categoría:Algoritmos]]