Article View: es.comp.os.linux.programacion
Article #1461Problema con un algoritmo en JAVA (backtracking).
From: Manuel
Date: Wed, 09 Nov 2005 12:56
Date: Wed, 09 Nov 2005 12:56
45 lines
2608 bytes
2608 bytes
Hola.
Resulta que estoy haciendo una practica de una asignatura, pero no controlo
muy bien JAVA, y por encima nos piden resolver el juego del sudoku usando un
algoritmo backtracking.
Lo que quiero saber es lo siguiente:
Tengo una funcion llamada compleciones que retorna un objeto Stack, que es
la encargada de generar los hijos de un nodo (tambien llamado ensayo) del
arbol de busqueda, esto hijos (objetos) se guardan en una pila (el objeto
Stack del paquete java.util).
private static void backtracking(Censayo e)
{
if (e.valido())
{
e.solucion();
}
else
{
pila = e.compleciones();
while (!pila.empty())
{
Censayo hijo = (Censayo)pila.pop();
if (hijo.poda())
{
backtracking((Censayo)hijo.clone());
}
}
}
}
Mi pregunta es la siguiente : �como debo de declarar el objeto pila para que
no me borre los "ensayo hijos" cada vez que se llama a la funcion
backtracking?, porque cada vez que se ejecuta el metodo compleciones, se
generan una serie de hijos que se cargan en una pila, pero luego yo lo que
quiero es que esa pila mantenga los valores anteriores que tenia.
He probado con static Stack pila = new Stack(); pero creo que no funciona,
o es algo que no comprendo sobre java al intentar pasar un problema en C a
Java....algo me falta para que funcione.
GRACIAS.
Saludos.
Technical Details
Message-ID:
<dksrma$mke$1@hefestos.uned.es>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!t-online.de!irazu.switch.ch!switch.ch!news.rediris.es!hefestos.uned.es!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Thread: f86c8,baeb43796a805621,start X-Google-Attributes: gidf86c8,public X-Google-Language: SPANISH,ASCII Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!newsfeed00.sul.t-online.de!t-online.de!irazu.switch.ch!switch.ch!news.rediris.es!hefestos.uned.es!not-for-mail From: "Manuel" <no@no.com> Newsgroups: es.comp.os.linux.programacion Subject: Problema con un algoritmo en JAVA (backtracking). Date: Wed, 9 Nov 2005 13:56:41 +0100 Organization: Universidad Nacional de Educaci�n a Distancia, Madrid (Spain) Lines: 47 Message-ID: <dksrma$mke$1@hefestos.uned.es> NNTP-Posting-Host: 99.red-83-54-106.dynamicip.rima-tde.net X-Trace: hefestos.uned.es 1131541002 23182 83.54.106.99 (9 Nov 2005 12:56:42 GMT) X-Complaints-To: news@hefestos.uned.es NNTP-Posting-Date: Wed, 9 Nov 2005 12:56:42 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.2180 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180 X-RFC2646: Format=Flowed; Original