2012-08-15 4 views
0

En tant qu'exercice de programmation, j'essaie de résoudre un jeu de puzzle en Python. Pour cela, j'utilise un algorithme récursif, que je pensais être une implémentation de recherche en profondeur. Mon problème est que je reçois une erreur d'exécution pour atteindre la limite de récursivité maximale, et je n'ai pas compris comment le résoudre.Récursivité de l'algorithme du plus court chemin

J'ai vu différents messages sur le jeu et l'algorithme, mais plutôt que de le recoder dans ce contexte, j'espérais obtenir un aperçu utile de ce que j'ai écrit. Voici donc une version pseudo-simplifiée de mon code. Donc, ma question est de savoir si le retour à l'extérieur de la boucle for est ce qui provoque la récursion pour atteindre le maximum?
merci pour votre aide.

    -
+0

Il existe un site de révision de code, il s'agit d'un site Q/R. –

+0

python recursion ne vous laisse pas aller très profond ... peut vouloir regarder des solutions itératives –

+0

La chose est que basé sur le problème, je ne devrais pas avoir besoin d'aller très profond ... et aussi, merci pour le code-revue pointe. – Diego

Répondre

0

Si vous frappez la profondeur de récursivité dépassé exception, soit vous avez un problème de code ou vous avez besoin d'un algorithme différent. Il semble que votre algorithme soit O (N * N) où N est le nombre de nœuds. N n'a pas besoin d'être très grand pour que vous atteigniez la limite.

Il existe de meilleures approches au problème.

Questions connexes