Discusión:Algoritmo voraz
Apariencia
¿Por qué algoritmo greedy?
En el propio artículo aparece una traducción 'algoritmos ávidos', aunque creo que es de uso más frecuente 'algoritmos voraces'.
- Normalmente se denominan algoritmos voraces, miopes o glotones (greedy). Pienso que no está de más que se use ese término puesto que en mucha documentación en español lo especifican así. --Manz 17:10 24 jun 2006 (CEST)
-Tambien se les denomia "Golosos"
- Modifico el código:
AlgoritmoGreedy(C: ConjuntoCandidatos)
S:=∅;
solucionEncontrada:=false;
WHILE (C <> ∅) AND (NOT solucionEncontrada)
a:=seleccionaCandidato(C);
IF esFactible(a ∪ S)
S:=S ∪ a;
IF esSolucion(S)
solucionEncontrada:=TRUE
return S; //devuelve la solución
Puesto que un Booleano por defecto es inicializado a false y eliminando el "solucionEncontrada:=false" se simplifica un poco.
Además propongo otro cambio (que alguien me confirme si estoy en lo cierto:)
AlgoritmoGreedy(C: ConjuntoCandidatos)
S:=∅;
WHILE (C <> ∅) AND (NOT Solucion(S))
a:=seleccionaCandidato(C);
IF esFactible(a ∪ S)
S:=S ∪ a;
// FIN WHILE
IF esSolucion(S)
return S; //devuelve la solución
else
return "No hay solucion"
--Manz 17:12 24 jun 2006 (CEST)
- La presunción de que un booleano se inicializa a false depende del pseudocódigo que se utilice y no creo que esté de más. La otra variante que propones es eliminar el flag booleano; bueno, creo que su misión, aparte de quizá aportar claridad, es no ejecutar redundantemente la función esSolución(). Gothmog (discusión) 00:29 28 jun 2006 (CEST)