「末尾再帰」の版間の差分
ナビゲーションに移動
検索に移動
imported>GamerBook 細 |
|||
1行目: | 1行目: | ||
末尾再帰(まつびさいき、tail recursive)とは、[[再帰]]のうち、[[関数]]の末尾にのみ[[再帰]]を記述する[[プログラミング]]のテクニックである。 | 末尾再帰(まつびさいき、tail recursive)とは、[[再帰]]のうち、[[関数]]の末尾にのみ[[再帰]]を記述する[[プログラミング]]のテクニックである。 | ||
− | + | そんな小難しくて面倒なことをして何が嬉しいかというと、賢い[[コンパイラ]]だと[[最適化]]時に末尾再帰を検出すると自動的に[[再帰]]ではなくしてくれる。これを[[末尾再帰最適化]]という。 | |
<!-- | <!-- | ||
28行目: | 28行目: | ||
== 末尾再帰の例としてよく上がる処理 == | == 末尾再帰の例としてよく上がる処理 == | ||
+ | 末尾再帰の記述例は以下を参照。 | ||
* [[フィボナッチ数]] | * [[フィボナッチ数]] | ||
* [[階乗]] | * [[階乗]] |