todasduvidas Postado Novembro 19, 2004 Denunciar Share Postado Novembro 19, 2004 GOSTARIA DE SABER SOBRE RECURSÃO EM JAVA SCRIPT , POIS TENHO QUE ELABORAR UM PROBLEMA E RESOLVE-LO , SENDO QUE NÃO SEJA MUITO SIMPLES. OBRIGADA. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Illidan Postado Novembro 19, 2004 Denunciar Share Postado Novembro 19, 2004 Sua dúvida é sobre o que é recursividade? Bom, isso é quando chamamos a função dentro dela mesma. Existem exemplos clássicos da utilização de uma função recursiva, como por exemplo, pra calcular o módulo de um número. Ou então, a seqüência de Fibonacci.Mas só abrindo um parênteses aqui... sempre que puder, não utilize uma função recursiva no seu script. Uma vez fiz uns testes com esses exemplos que citei acima. Utilizei funções recursivas e não-recursivas, e as recursivas perderam feio... mas feio mesmo no quesito "tempo de processamento".Bom, é isso... abraços. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 renan_doidera Postado Novembro 20, 2004 Denunciar Share Postado Novembro 20, 2004 Como você faz para saber o tempo de processamento de um script Illidan ? Tem alguma opção em algum browser que permite isso, ou essas "diferenças" foram tão grandes que deu para perceber no carregamento normal da página?Falows Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Illidan Postado Novembro 20, 2004 Denunciar Share Postado Novembro 20, 2004 Eu testei o tempo das funções recursivas no PHP. Como eu disse, as recursivas perderam feio... e a diferença no tempo de processamento aumentava absurdamente conforme eu pedia pra calcular o módulo de um número mais alto.Vou ver se acho alguma coisa aqui... aí eu posto pra vocês verem.***** EDITANDO *****Bom, fiz uns testes aqui em PHP mesmo... quem tiver como testar, vai ver como as funções recursivas não compensam. Eu não quero abominá-las aqui, já utilizei função recursiva, mas acho que devemos evitá-las sempre que pudermos.Calculando o módulo de 1500 (que foi o último módulo que meu computador conseguiu calcular com a função recursiva), estes foram os resultados:Função recursiva: 0,0179 segundosFunção normal: 0,0026 segundosTirando que, com a função não recursiva, eu consegui calcular um módulo maior que 1.000.000... (parei os testes aí, mas ela calcularia módulos de números maiores).Até mais.PS: Este foi o código que utilizei nos testes:<?phpfunction getmicrotime() { list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec);}function moduloRec($n) { if ($n > 1) { $n *= moduloRec($n - 1); } return $n;}function modulo($n) { $mod = $n; while ($n > 1) { $n--; $mod *= $n; } return $mod;}$calcular = 1500;$inicio = getMicrotime();echo "<p> Função Normal:";echo "<br />- Módulo de " . $calcular . ": " . modulo($calcular);echo "<br />- Tempo: " . number_format((getMicrotime() - $inicio), 4, ",", ".") . " segundos </p>";$inicio = getMicrotime();echo "<p> Função Recursiva:";echo "<br />- Módulo de " . $calcular . ": " . moduloRec($calcular);echo "<br />- Tempo: " . number_format((getMicrotime() - $inicio), 4, ",", ".") . " segundos </p>";?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
todasduvidas
GOSTARIA DE SABER SOBRE RECURSÃO EM JAVA SCRIPT , POIS TENHO QUE ELABORAR UM PROBLEMA E RESOLVE-LO , SENDO QUE NÃO SEJA MUITO SIMPLES.
OBRIGADA.
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.