サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
大谷翔平
takegue.hatenablog.com
末尾再帰最適化 Pythonでは本来, 末尾再帰最適化は行われないのですが デコレータを使うことによって一発で末尾再帰化を行ってくれるようになります. 今日は,そんな末尾再帰最適化について紹介します. 末尾再帰 そもそも末尾再帰ってなんだろう ってことですが, 末尾再帰とはそのままでは 関数の末尾(関数の値を返す部分)が再帰呼出しとなるような関数 のことです 末尾再帰だと機械的に最適化しやすいので,このように呼ばれるわけです. 再帰はプログラムが簡潔にかけ,見た目には非常に良いのですが 関数の再帰的に呼び出すたびに,関数の呼び出し元情報を記録するスタックが積まれる, 処理的に効率が良くなかったりします. 例えば, 以下のようなn番目のフィボナッチ数列の値を求める関数は 再帰を利用した関数です.(末尾再帰ではありません;足し算を行っています) def (n): return fib(n-2)
このページを最初にブックマークしてみませんか?
『takegue.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く