Discusión:Algoritmo voraz
De Wikipedia, la enciclopedia libre
¿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)