ホームページ >ウェブフロントエンド >jsチュートリアル >よく使用される 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; };2. 選択ソート
var selectSort = function(arr) { var min; for (var i = 0; i < arr.length - 1; i++) { min = i; for (var j = i + 1; j < arr.length; j++) { if (arr[min] > arr[j]) { min = j; } } if (i != min) { swap(arr, i, min); } console.log(i + 1, ": " + arr); } return arr; }; function swap(arr, index1, index2) { var temp = arr[index1]; arr[index1] = arr[index2]; arr[index2] = temp; };4. ヒルソート
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. アルゴリズム効率比較
------------------------------------------------ -- -------------
| 平均的なケース | 最悪のケース |
------ ----------------------------------| バブルソート | O(n²) | (n²) |
------------------------------------------ --------| 選択ソート | O(n²) |
---------------------------------- ---------------- -------| 安定した O(n²) | ----------------------------------- --------
| O( nlogn)~O(n²) | O(n^1.5) O(n²) |
---------- ------ --------------------------------- ---
| ソート O(nlogn) | | O(nlogn) |
---------------------------- --------------- ----------------------------
| クイックソート | O(nlogn) | 不安定
---------------------------------------- -------- -----------------
この記事の事例を読んだ後、あなたはその方法を習得したと思います。さらに興味深い情報については、php 中国語に関する他の関連記事に注目してください。 Webサイト !
推奨読書:
Vue で Sortable を使用する方法
js+css を使用して入力効果を実現する方法
以上がよく使用される JS ソート アルゴリズムを整理するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。