原則として、反復関数を反復関数に変換することが可能であることを読んでいます。私はお互いを呼び出すいくつかの機能を持っています。私は自分のフローチャートを見てコードの構造を構築しました。再帰的なスタイルでそれを行うのは明らかです。小さなサイズの問題には適していますが、より大きなスケールではセグメント化の失敗があります。だから私は反復的なスタイルに切り替えることを試みているが、分岐構造が私を混乱させるので、それを技術的に行う方法を想像することはできない。誰かが私にそれを扱う手がかりを与えることができますか?コードはPythonのようなものです:ネストした再帰関数の束を反復関数に変換
def main_function(parameters):
if condition0:
....
if condition1:
....
if condition2:
....
return function1(parameters)
else:
....
return function2(parameters)
else:
return function1(parameters)
else:
return function2(parameters)
#############################################
def function1(parameters):
if condition3:
...
return function3(parameters) ### yet another function.. so messed up? :-(((
else:
return main_function(parameters)
##############################################
def function2(parameters):
if condition4:
...
return main_function(parameters)
else:
return function1(parameters)
###############################################
def function3(parameters):
if condition5
if condition6:
...
return function3(parameters)
else:
...
return main_function(parameters)
else:
return RESULTS # The only way out!
大変ありがとうございます、どうもありがとうございます。
私は「すべての再帰関数がスタックベースの1のように記述することができる」と考えるのが好き。それが役立つかどうかはわかりません。 – Oded