Например, при написании некоторых алгоритмов на графах типа
def f(graph):
#graph is dictionary of pairs vertex_i:{set of edges (i,j)} for 1<=i,j<=n
def g(vertex):
for vertex1 in graph:
do sth
...
for (i,j) in graph[vertex1]:
...
g(j)#recursive call
...
return ...
return g(1)
ограниченная глубина рекурсии иногда очень раздражает, потому что код становится намного длиннее и сложнее, если вам приходится избегать рекурсии. Есть ли способ достичь неограниченной глубины? Может быть, вы можете описать свое общее решение проблемы по следующему методу
def nthNumber(n):
if n==1: return 1
else: return nthNumber(n-1)+1
(Я знаю, что это просто глупо, и, пожалуйста, не давайте таких ответов, как «Вы должны были написать только nthNumber(n): вернуть n» - меня интересует общее решение). Спасибо за помощь!