J'ai une fonction qui s'appelle récursivement, et je veux détecter et terminer si elle entre dans une boucle infinie, c'est-à-dire être à nouveau appelée pour le même problème. Quelle est la meilleure façon de faire cela?Comment détecter une boucle infinie dans un appel récursif?
EDIT: Ceci est la fonction, et elle sera appelée récursivement avec des valeurs différentes de x et y. Je veux terminer si dans un appel récursif, la valeur de la paire (x, y) est répétée.
int fromPos(int [] arr, int x, int y)
oui, vient de réaliser son problème d'arrêt. Peut-être que je devrais mettre une prime là-dessus. : D – Pranav
Cette méthode ne détecte pas s'il est légal de la fonction de s'appeler parfois avec les mêmes valeurs - alors que la méthode de récursion peut fonctionner pour le cas général. –
Oh, et cela nécessite le surdéveloppement de la construction de l'ensemble et des entrées qui s'y trouvent. –