探索(再帰関数) # 第05講では、データ構造を辿り、目的のデータを探索する再帰関数について学びます。 リストの中から目的のファイルを探すプログラムや ディレクトリツリーの中のファイルやディレクトリを数えるプログラムなどを実装します。
再帰関数 # 第04講では、再帰関数(recursive function)について学習します。 再帰関数は、関数の中で自分自身を呼び出すことができる関数です。
ディレクトリ構造の探索 ディレクトリ内の探索 os.listdir 例題 指定されたディレクトリ以下のファイル数、ディレクトリ数 二分探索 二分探索の例
再帰呼び出し 再帰呼び出しの例 1: 階乗 基底条件と再帰条件 再帰呼び出しのシミュレーション 再帰呼び出しの例 2: リストの合計 再帰の練習 呼び出しの様子を表示する 壊れた再帰を直す 再帰が止まらないときのチェックリスト やってみよう: リストの最大値
課題05-1 特定の名前のファイルを見つける # 難易度 ⭐ コマンドライン引数でファイル名と、ディレクトリ名もしくはファイル名が与えられます。 コマンドライン引数で最初に与えられた名前を持つファイルを再帰的に探索し、そのファイルが見つかったらそのパスを表示するプログラムを作成してください。
課題04-1 コンビネーション # 難易度 ⭐ \(n\)個の中から\(k\)個を選ぶ組み合わせの数を求めるコンビネーションを計算します。 コンビネーションは以下の式で求められます。
二分探索(Binary Search)は、ソート済みのリストに対して、探索する範囲を半分に狭めていくことで、探索する要素を見つけるアルゴリズムです。
呼び出しの様子を表示して再帰の動きを目で確かめ、壊れた再帰関数を直します。
再帰呼び出し # 再帰呼び出しとは、ある関数が自分自身を呼び出すことを指します。 数学の漸化式をそのままプログラムで表現したものとして捉えることができます。
ディレクトリ内の特定のファイルを探すとき、ディレクトリ内のディレクトリを再帰的に探索する必要があります。