JavaScriptのアルゴリズムとデータ構造
(github.com)- よく知られているアルゴリズムとデータ構造の説明、JavaScriptベースの例、および関連YouTube動画を含む[韓国語訳]
→ B : 初学者向け 63個
→ A : 熟練者向け 69個
データ構造
B: 連結リスト、二重連結リスト、キュー、スタック、ハッシュテーブル、ヒープ、優先度付きキュー
A: トライ、ツリー、二分探索木、AVL木、Red-Black木、セグメント木、Fenwick木、グラフ、素集合、ブルームフィルタ
アルゴリズム
- Math
→ B : 階乗、フィボナッチ数、素数判定、ユークリッドの互除法、最小公倍数、エラトステネスのふるい、2のべき乗判定法、パスカルの三角形
→ A : 自然数の分割、劉徽の π アルゴリズム - N角形をベースに π の近似値を求める
- Sets
→ B : デカルト積、Fisher–Yatesシャッフル
→ A : べき集合、順列、組み合わせ、最長共通部分列、最長増加部分列、Shortest Common Supersequence (SCS)、ナップサック問題
- Strings
→ B : ハミング距離 - シンボルが異なる位置の数
→ A : 編集距離、クヌース-モリス-プラットアルゴリズム、Zアルゴリズム、ラビン-カープアルゴリズム、最長共通部分文字列、正規表現マッチング
- Searches
→ B : 線形探索、ジャンプ探索、二分探索、補間探索
- Sorting
→ B : バブルソート、選択ソート、挿入ソート、ヒープソート、マージソート、クイックソート、シェルソート、計数ソート、基数ソート
- Trees
→ B : 深さ優先探索 (DFS)、幅優先探索 (BFS)
- Graphs
→ B : 深さ優先探索 (DFS)、幅優先探索 (BFS)、クラスカルアルゴリズム
→ A : ダイクストラアルゴリズム、ベルマン-フォードアルゴリズム、フロイド-ワーシャルアルゴリズム、サイクル検出、プリムアルゴリズム、トポロジカルソート、関節点、橋、オイラー路とオイラー回路、ハミルトン路、強連結成分、巡回セールスマン問題
- Uncategorized
→ B : ハノイの塔、正方行列の回転、ジャンプゲーム、貪欲アルゴリズムの例、Unique Paths、Trapping Rain Water 問題
→ A : N-Queens問題、騎士の巡歴問題
パラダイム別アルゴリズム
-
ブルートフォース(Brute Force)
-
貪欲法(Greedy)
-
分割統治法(Divide and Conquer)
-
動的計画法(Dynamic Programming)
-
バックトラッキング(Backtracking)
まだコメントはありません。