今回は、JS ソート アルゴリズムの概要について説明します。JS ソート アルゴリズムを使用する際の 注意事項 は何ですか?実際の事例を見てみましょう。
ソートアルゴリズムに関する多くの質問はインターネットで検索できますが、純粋な JS バージョンは比較的散在しており、前回のインタビュー中にソート効率の比較とともに特別にまとめました1.var bubbleSort = function(arr) { for (var i = 0, len = arr.length; i < len - 1; i++) { for (var j = i + 1; j < len; j++) { if (arr[i] > arr[j]) { var temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } return arr; };
var insertSort = function(arr) { var len = arr.length, key; for (var i = 1; i < len; i++) { var j = i; key = arr[j]; while (--j > -1) { if (arr[j] > key) { arr[j + 1] = arr[j]; } else { break; } } arr[j + 1] = key; } return arr; };
6. クイックソート
function shellSort(arr) { if (arr.length < 2) { return arr; }; var n = arr.length; for (gap = Math.floor(n / 2); gap > 0; gap = Math.floor(gap /= 2)) { for (i = gap; i < n; ++i) { for (j = i - gap; j >= 0 && arr[j + gap] < arr[j]; j -= gap) { temp = arr[j]; arr[j] = arr[j + gap]; arr[j + gap] = temp; } } } return arr; };
アルゴリズム効率比較
-------------------------------------------------- -- ----
| 平均的なケース | 最悪のケース |----------- --------------------------------------
| バブルソート | ( n) | O(n²) |------------------------------------- ------- ------------------------
| O(n²) O(n²) | | 不安定|-------------------------------------------- ------ -----------
| 安定した O(n²) | ------ -------------------------------------------- ------
| 並べ替え | O(n^1.5) |
-------------- ----------------------------------------------------
| マージ ソート | O(nlogn) |
-------------- ------ ----------------------------
| O(nlogn) | (n²) | 不安定 |
------------------------------------------ ----- ---------------
この記事の事例を読んだ後、あなたはその方法を習得したと思います。さらに興味深い情報については、の他の関連記事に注目してください。 php中国語のウェブサイトです!
推奨書籍:
jQueryのバージョンの選び方
以上がJSソートアルゴリズムの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。