アルゴリズム
アルゴリズム
アルゴリズムのノートでは、実装だけでなく「なぜ正しいか」と「どの制約で使えるか」を一緒に記録する。
グラフの基本は 木の走査 から始めるとよい。親と深さを持つだけで解ける問題を確認した後、一般の重み付きグラフで最短距離が必要なら ダイクストラ法 へ進む。ダイクストラ法の優先度付きキューの扱いは Python のヒープ にも実装上の注意がある。
探索アルゴリズムを選ぶときは、まず辺重みの有無、負辺の有無、グラフが木かどうかを確認する。同じ最短経路でも、この条件によって BFS、0-1 BFS、ダイクストラ法、Bellman–Ford 法を使い分ける。
このフォルダには今後、動的計画法、文字列、フロー、幾何のノートを追加する。