3
3
[ ![ Build Status] ( https://travis-ci.org/trekhleb/javascript-algorithms.svg?branch=master )] ( https://travis-ci.org/trekhleb/javascript-algorithms )
4
4
[ ![ codecov] ( https://codecov.io/gh/trekhleb/javascript-algorithms/branch/master/graph/badge.svg )] ( https://codecov.io/gh/trekhleb/javascript-algorithms )
5
5
6
-
7
6
このリポジトリには、JavaScriptベースの多数のサンプル
8
7
一般的なアルゴリズムとデータ構造。
9
8
@@ -72,7 +71,7 @@ _Read this in other languages:_
72
71
* ` A ` [ 整数パーティション] ( src/algorithms/math/integer-partition )
73
72
* ` A ` [ Liu Hui π アルゴリズム] ( src/algorithms/math/liu-hui ) - N-gonsに基づく近似π計算
74
73
* ` A ` [ 離散フーリエ変換] ( src/algorithms/math/fourier-transform ) - 時間(信号)の関数をそれを構成する周波数に分解する
75
- * ** セット**
74
+ * ** セット**
76
75
* ` B ` [ デカルト積 ] ( src/algorithms/sets/cartesian-product ) - 複数の積の積
77
76
* ` B ` [ Fisher–Yates Shuffle] ( src/algorithms/sets/fisher-yates ) - 有限シーケンスのランダム置換
78
77
* ` A ` [ パワーセット] ( src/algorithms/sets/power-set ) - セットのすべてのサブセット(ビットごとのソリューションとバックトラッキングソリューション)
@@ -84,20 +83,20 @@ _Read this in other languages:_
84
83
* ` A ` [ ナップザック問題 ] ( src/algorithms/sets/knapsack-problem ) - 「0/1」と「非結合」問題
85
84
* ` A ` [ 最大サブアレイ] ( src/algorithms/sets/maximum-subarray ) - 「ブルートフォース」と「ダイナミックプログラミング」(Kadane's版)
86
85
* ` A ` [ 組み合わせ合計] ( src/algorithms/sets/combination-sum ) - 特定の合計を構成するすべての組み合わせを見つける
87
- * ** 文字列**
86
+ * ** 文字列**
88
87
* ` B ` [ ハミング距離] ( src/algorithms/string/hamming-distance ) - シンボルが異なる位置の数
89
88
* ` A ` [ レーベンシュタイン距離] ( src/algorithms/string/levenshtein-distance ) - 2つのシーケンス間の最小編集距離
90
89
* ` A ` [ Knuth-Morris-Prattアルゴリズム] ( src/algorithms/string/knuth-morris-pratt ) (KMP Algorithm) - 部分文字列検索 (pattern matching)
91
90
* ` A ` [ Z アルゴリズム] ( src/algorithms/string/z-algorithm ) - 部分文字列検索 (pattern matching)
92
91
* ` A ` [ Rabin Karpアルゴリズム] ( src/algorithms/string/rabin-karp ) - 部分文字列検索
93
92
* ` A ` [ 最長共通部分文字列] ( src/algorithms/string/longest-common-substring )
94
93
* ` A ` [ 正規表現マッチング] ( src/algorithms/string/regular-expression-matching )
95
- * ** 検索**
94
+ * ** 検索**
96
95
* ` B ` [ リニアサーチ] ( src/algorithms/search/linear-search )
97
96
* ` B ` [ ジャンプ検索] ( src/algorithms/search/jump-search ) (or Block Search) - ソートされた配列で検索
98
97
* ` B ` [ バイナリ検索] ( src/algorithms/search/binary-search ) - ソートされた配列で検索
99
98
* ` B ` [ 補間探索] ( src/algorithms/search/interpolation-search ) - 一様分布のソート配列で検索する
100
- * ** 並べ替え**
99
+ * ** 並べ替え**
101
100
* ` B ` [ バブルソート] ( src/algorithms/sorting/bubble-sort )
102
101
* ` B ` [ 選択ソート] ( src/algorithms/sorting/selection-sort )
103
102
* ` B ` [ 挿入ソート] ( src/algorithms/sorting/insertion-sort )
@@ -107,13 +106,13 @@ _Read this in other languages:_
107
106
* ` B ` [ シェルソート] ( src/algorithms/sorting/shell-sort )
108
107
* ` B ` [ 並べ替えを数える] ( src/algorithms/sorting/counting-sort )
109
108
* ` B ` [ 基数ソート] ( src/algorithms/sorting/radix-sort )
110
- * ** リンクされたリスト**
109
+ * ** リンクされたリスト**
111
110
* ` B ` [ ストレートトラバーサル] ( src/algorithms/linked-list/traversal )
112
111
* ` B ` [ 逆方向のトラバーサル] ( src/algorithms/linked-list/reverse-traversal )
113
- * ** ツリー**
112
+ * ** ツリー**
114
113
* ` B ` [ 深度優先検索] ( src/algorithms/tree/depth-first-search ) (DFS)
115
114
* ` B ` [ 幅優先検索] ( src/algorithms/tree/breadth-first-search ) (BFS)
116
- * ** グラフ**
115
+ * ** グラフ**
117
116
* ` B ` [ 深度優先検索] ( src/algorithms/graph/depth-first-search ) (DFS)
118
117
* ` B ` [ 幅優先検索] ( src/algorithms/graph/breadth-first-search ) (BFS)
119
118
* ` B ` [ Kruskalのアルゴリズム] ( src/algorithms/graph/kruskal ) - 重み付き無向グラフの最小スパニングツリー(MST)の発見
@@ -129,9 +128,9 @@ _Read this in other languages:_
129
128
* ` A ` [ ハミルトニアンサイクル] ( src/algorithms/graph/hamiltonian-cycle ) - すべての頂点を正確に1回訪問する
130
129
* ` A ` [ 強連結成分] ( src/algorithms/graph/strongly-connected-components ) - コサラジュのアルゴリズム
131
130
* ` A ` [ トラベリングセールスマン問題] ( src/algorithms/graph/travelling-salesman ) - 各都市を訪問し、起点都市に戻る最短経路
132
- * ** 暗号**
131
+ * ** 暗号**
133
132
* ` B ` [ 多項式ハッシュ] ( src/algorithms/cryptography/polynomial-hash ) - 関数多項式に基づくハッシュ関数
134
- * ** 未分類**
133
+ * ** 未分類**
135
134
* ` B ` [ ハノイの塔] ( src/algorithms/uncategorized/hanoi-tower )
136
135
* ` B ` [ 正方行列回転] ( src/algorithms/uncategorized/square-matrix-rotation ) - インプレイスアルゴリズム
137
136
* ` B ` [ ジャンプゲーム] ( src/algorithms/uncategorized/jump-game ) - バックトラック、ダイナミックプログラミング(トップダウン+ボトムアップ)、欲張りの例
@@ -187,7 +186,7 @@ _Read this in other languages:_
187
186
* ` A ` [ Bellman-Fordアルゴリズム] ( src/algorithms/graph/bellman-ford ) - すべてのグラフ頂点への最短経路を見つける
188
187
* ` A ` [ Floyd-Warshallアルゴリズム] ( src/algorithms/graph/floyd-warshall ) - すべての頂点ペア間の最短経路を見つける
189
188
* ` A ` [ 正規表現マッチング] ( src/algorithms/string/regular-expression-matching )
190
- * ** バックトラッキング** - ブルートフォースと同様に、可能なすべてのソリューションを生成しようとしますが、
189
+ * ** バックトラッキング** - ブルートフォースと同様に、可能なすべてのソリューションを生成しようとしますが、
191
190
次のソリューションを生成するたびにすべての条件を満たすかどうかをテストし、それ以降は引き続きソリューションを生成します。
192
191
それ以外の場合は、バックトラックして、解決策を見つける別の経路に進みます。
193
192
通常、状態空間のDFSトラバーサルが使用されています。
@@ -289,4 +288,4 @@ npm test -- 'playground'
289
288
| ** Quick sort** | n  ; log(n) | n  ; log(n) | n<sup >2</sup > | log(n) | No | Quicksort is usually done in-place with O(log(n)) stack space |
290
289
| ** Shell sort** | n  ; log(n) | depends on gap sequence | n  ; (log(n))<sup >2</sup > | 1 | No | |
291
290
| ** Counting sort** | n + r | n + r | n + r | n + r | Yes | r - biggest number in array |
292
- | ** Radix sort** | n * k | n * k | n * k | n + k | Yes | k - length of longest key |
291
+ | ** Radix sort** | n * k | n * k | n * k | n + k | Yes | k - length of longest key |
0 commit comments