Open3

★AtCoder C++入門の覚え書き #2 参照、再帰

こどはざこどはざ

参照

今まで学んだ言語にはたぶんすべてに実装されている参照。
記号が & なだけで基本は変わらない。

int a.= 1;
int &b = a; // aへの参照
int &c = b; // aへの参照

c = 2;
std::cout << a << ", " << b << ", " << c << ednl; // 2 2 2

AtCoder
https://atcoder.jp/contests/apg4b/tasks/APG4b_u

こどはざこどはざ

再帰関数 recursive function

自身を呼び出す関数。
状態を変化させながら同じ処理を繰り返していく際に使える。競プロだとDFS等。

用語:

  • 再帰ステップ (recursive step): 再帰呼び出しを行い、その結果を使って行う処理
  • ベースケース (base case): 再帰処理を行わずに完了できる処理

再帰関数を実装する際の3ステップ

  1. 引数、返り値、処理内容を考える
  2. 再帰ステップを実装する
  3. ベースケースを実装する

所感

再帰関数はまだ頭の負荷なくスラスラ実装できるほど慣れ親しんでいない。
ある程度ベースケースにも決まったパターンがあるし、今のところ引数もせいぜい3つ4つでデータ型も決まっている。これに慣れていきたい。