このプロジェクトについて

このリポジトリは、アルゴリズムとデータ構造のJavaScriptベースのサンプル集です。各項目には専用のREADMEがあり、解説と外部参考資料(YouTube動画を含む)が用意されています。本番用ライブラリとしてではなく、主に学習と面接対策を目的としています。 扱うデータ構造には、連結リスト、キュー、スタック、ハッシュテーブル、ヒープ、優先度付きキュー、木(二分探索木、AVL木、赤黒木、セグメント木、Fenwick木)、グラフ、素集合、Bloomフィルタ、LRUキャッシュが含まれます。アルゴリズムはトピック別(数学、集合、文字列、探索、ソート、木、グラフ、暗号、機械学習、画像処理、統計、進化アルゴリズム)とパラダイム別(総当たり、貪欲法、分割統治、動的計画法、バックトラッキング、分枝限定法)の両方で分類されています。項目には初心者向けのBと上級者向けのAの印が付いています。 このプロジェクトには実験用のplaygroundファイルと、すべての実装に対するテストが含まれています。一般的なコマンドはnpm install、npm run lint、npm test、npm test -- 'LinkedList'です。Node.js >=16が推奨されます。READMEにはBig O記法、データ構造の操作、配列ソートアルゴリズムの計算量表も掲載されています。