Learn algorithm with LeetCode

All Easy Medium Hard
目次

該当する問題が見つかりませんでした。

01. 計算量とアルゴリズム解析

時間・空間計算量、逐次探索と二分探索の差、再帰の漸化式といった基礎。実装そのものは易しいが、計算量を意識して解くことが目的です。

02. 配列・文字列

連続メモリ上のランダムアクセス、二ポインタ・スライディングウィンドウなど配列/文字列操作の基本パターン。

03. 連結リスト

ポインタ操作、ダミーノード、二ポインタ(速い/遅い)による循環検出。配列との計算量トレードオフを体感します。

04. スタック・キュー

LIFO/FIFO のコンテナ抽象、相互実装、単調スタックといった応用。

05. ハッシュテーブル・マップ

平均 O(1) の挿入・検索、ハッシュによる集計・グルーピング。連結リストと組み合わせたキャッシュ設計も。

06. ヒープ・優先度付きキュー

二分ヒープによる最小/最大要素の O(log n) 取り出し。Top-K、ストリーム中央値、k 本のリストのマージなど。

07. 探索(線形・二分探索)

ソート済みデータでの二分探索、回転配列や境界条件、さらに「答えで二分探索する」発想。

08. ソート

マージソート/クイックソートなどの n log n ソート、安定性、ソートを前処理として活用するパターン。

09. 木・二分探索木・平衡木

木の走査(前順・中順・後順・レベル順)、BST 性質、平衡判定。再帰と BFS/DFS の基礎固め。

10. グラフ探索(BFS / DFS・トポロジカルソート)

隣接リスト表現、連結成分、グリッド上の探索、閉路検出と依存関係のトポロジカル順序付け。Union-Find も含む。

11. 重み付きグラフ(最短経路・最小全域木)

Dijkstra / Bellman-Ford 系の最短経路、Prim / Kruskal の最小全域木。優先度付きキューや Union-Find が土台になります。

12. 組合せ探索・バックトラッキング

部分集合・順列・組合せの全列挙、枝刈り、盤面探索。再帰による状態空間の探索を体系的に学びます。

13. 動的計画法

部分問題の重なりと最適部分構造。メモ化(トップダウン)と表計算(ボトムアップ)の両アプローチ。

14. 文字列マッチング

部分文字列検索、パターン照合、回文。素朴法から KMP の考え方へつなげます。