ol� pessoal,

Oi Daniel, o problema foi esse mesmo.mas vou explicar melhor qual era meu 
ex-problema, ;D

estava fazendo um programa para resolver um quebra cabe�a de oito, daqueles 
que todo mundo tinha quando era pequeno :-).
geralmente se deve formar uma figura. tem 8 blocos m�veis e um espa�o em 
branco, mais ou menos assim:

1 2 3 
4 5 6 
7 8 0

onde o zero � o espa�o em branco e os numeros  6 e 8 podem ser movidos pra l� 
partindo da atual posi��o. e da� vai...

escolhi fazer uma busca em profundidade, gerando e armazenando todos os 
estados possiveis at� que encontrasse a resposta, que s�o ao todo 9!, e pra 
busca em profundidade  era melhor usar recurs�o mas ela estourava a pilha com 
menos de 25000 estados, ent�o fiz um teste alocando sem recurs�o e deu certo, 
comsumiu mais de 40 Mb de mem�ria!

fiz um novo teste(os que mandei anteriormente pra lista) com tipos padr�es, 
pra ver se o problema era a minha classe que era respons�vel pela 
representa��o de um estado do quebra cabe�a, mas deu o mesmo problema.

mas j� deu tudo certo, resolvi implementar sem recurs�o 

houve uma excelente dica, do Fernando Guimar�es, de como aumentar o tamanho do 
buffer compilando com  -XmxAU mas eu j� tinha feito poqu�ssimo tempo antes de 
receber o e-mail

obrigado a todos esta pergunta me rendeu excelentes resultados ;)

Valeu mesmo!!

Aeliton

Em Qui 29 Jul 2004 08:31, Daniel Menezes escreveu:
> Caro Aeliton,
> no segundo c�digo, voc� est� executando um la�o
> simples, que n�o precisa guardar informa��es de passos
> anteriores para executar o pr�ximo passo.
>
> No c�digo recursivo, voc� est� alocando os dados da
> execu��o em uma pilha de mem�ria (ou seja, utilizando
> espa�o de mem�ria, que � limitado), para que a
> recursividade possa funcionar, j� que ela precisa
> armazenar seu estado para que, quando chegue a base da
> recursividade, ela possa retornar.
>
> O que est� ocorrendo para causar stackoverflow � que
> sua recursividade ocupou todo o espa�o dispon�vel e
> n�o pode mais alocar a pilha de recurs�o em mem�ria.
>
> Espero que eu tenha sido claro. :)
>
> Atenciosamente,
> Daniel Menezes

-------------------------------------------------------------------------------------------
Ceara' Java User Group

  Para cancelar sua assinatura, envie um e-mail para: [EMAIL PROTECTED]
  Para mais informacoes, mande um e-mail para: [EMAIL PROTECTED]
  Falar com o administrador? e-mail para: [EMAIL PROTECTED] 
 

Responder a