
Javaで実装する再帰の末尾呼び出し最適化
CRANK
再帰は強力なアルゴリズムであり、様々な実装に用いられていますが、現実では間違った実装をしてしまうとメモリが枯渇してしまうことなどの問題があり、あまり好まれていないことも多いアルゴリズムだと考えています。 ですが、正しくプログラミングする方法を知っていれば、再帰を使うことのメリットを享受できるとも思っています。 フィボナッチ数列をJavaでプログラミングしながら、スタックオーバーフローが発生しない再帰のプログラムを書いてみようと思います。 よくあるフィボナッチ数列...