markdown
再帰の基本
lecture/information/algorithm/foundation/再帰の基本-講義.n.md

再帰さいき基本きほん

date2026-03-27description再帰を、問題を同じ形の小さい問題へ縮める見方から整理し、停止条件と再帰呼び出しの役割まで説明します。prerequisites計算量の基本 / 関数の基本 / 条件分岐type講義statusactiverelateddata/lecture/information/algorithm/アルゴリズムポータル-講義.n.md / data/lecture/information/algorithm/data-structures/スタックとキューの基本-講義.n.md
algorithmfoundationundergraduatelecture

導入どうにゅう

この講義こうぎ最重要さいじゅうようなのは、再帰さいきを「関数かんすう自分じぶんかた」でなく、「問題もんだいおなかたちちいさい問題もんだいちぢめるかんがかた」としてることです。

再帰さいきあやまりやすいのは、停止条件ていしじょうけんわすれたり、なにちいさくなっているかが曖昧あいまいなまますことです。この講義こうぎでは、停止条件ていしじょうけん再帰呼さいきよしの役割やくわりけてます。

用語ようご定義ていぎ

再帰さいきRecursion とは、ある問題もんだいを、それよりちいさい同種どうしゅ問題もんだいけて方法ほうほうです。

停止条件ていしじょうけんBase case とは、それ以上いじょうけずにすぐこたえられる場合ばあいです。

方針ほうしん

まず「どこまでちいさくなれば直接ちょくせつこたえられるか」をめます。そのあと、「おおきい問題もんだいをどう1 段階いちだんかいちいさくするか」をめます。

直感的ちょっかんてき説明せつめい

階段かいだんを 1 だんずつりるように、問題もんだいすこしずつちいさくしていき、一番下いちばんしたまでいたらこたえをもどしていくのが再帰さいきです。

厳密げんみつ説明せつめい

1. 停止条件ていしじょうけん

たとえば階乗かいじょう n! なら

1!=1

停止条件ていしじょうけんにできます。

2. 再帰呼さいきよ

n!=n·(n-1)!

けるので、おおきな問題もんだい n!ちいさい問題もんだい (n-1)!わたせます。

3. ただしくわるための条件じょうけん

再帰呼さいきよしごとに、問題もんだいおおきさが確実かくじつっていなければなりません。ここが曖昧あいまいだと無限むげんしてしまいます。

見分みわかた

  • おなかたち小問題しょうもんだいけられるなら、再帰さいきうたがいます。
  • 停止条件ていしじょうけんが 1 ぎょうけないなら、まだ設計せっけい曖昧あいまい可能性かのうせいがあります。

最終形さいしゅうけい

[PARSE ERROR: Undefined("Command(\"boxed\")")]再帰+[PARSE ERROR: Undefined("RBrace")]

一言ひとことでいうと

  • 再帰さいきでは、関数かんすうかたより「なにちいさくなっているか」をることが大切たいせつです。
raw .n.md をコピー
loc をコピー (filepath:line ~ line)
copy share link
path をコピー
copy share link
copy share link
タブを全て閉じる