探索、ソート、再帰、配列、スタック、キュー、グラフ、動的計画法を学べます。
ソート済みリストから値を高速に探します。
対象が見つかるまでリストを順に調べます。
隣接要素を繰り返し交換して整列します。
残りの最小値を順に正しい位置へ置きます。
各要素を整列済み部分の適切な位置へ挿入します。
分割統治法でデータを整列します。
ピボットを基準に値を分割します。
再帰関数でn!を計算します。
同じFibonacci値の再計算を防ぎます。
2つの整数の最大公約数を求めます。
LIFO方式でpush、pop、peekを実装します。
dequeで効率的なFIFOキューを実装します。
合計がtargetになる2つの値を探します。
要素を循環的にk位置ずらします。
元の順序を保ちながら重複値を除きます。
合計が最大となる連続区間を探します。
グラフを階層ごとに探索します。
戻る前に1つの経路を深く探索します。