ホームページ > ウェブフロントエンド > jsチュートリアル > JSソートアルゴリズムの概要

JSソートアルゴリズムの概要

亚连
リリース: 2018-06-21 11:02:07
オリジナル
1446 人が閲覧しました

この記事では、JS ソート アルゴリズムのバブル ソート、選択ソート、挿入ソートを主に紹介し、バブル ソート、選択ソート、挿入ソートの概念、原理、実装方法をサンプルの形式で分析します。

この記事の例では、バブル ソート、選択ソート、挿入ソートの JS ソート アルゴリズムについて説明します。参考までに皆さんと共有してください。詳細は次のとおりです:

バブルソート:

配列内のデータについて、連続する 2 つの隣接する数値のサイズを比較します。

前のデータが後のデータより大きい場合は、2 つの数値を交換します。

時間計算量O(n^2)

1

2

3

4

5

6

7

8

9

10

11

12

function bubble(array){

 var temp;

 for(var i=0; i<arr.length; i++){

  for(var j=0; j<arr.length; j++){

   if(arr[j]>arr[j+1]){

    temp = arr[j+1];

    arr[j+1] =arr[j];

    arr[j]=temp;

   }

  }console.log(arr);

 }

}//冒泡排序

ログイン後にコピー

選択ソート:

まず元の配列から最小のデータを選択し、それを位置1のデータと交換します。

残りのn-1個のデータから次に小さいデータを選択し、2番目のデータと交換します。

最後の 2 つのデータが交換されるまで繰り返します。

時間計算量O(n^2)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

function selectionSort(array){

 var min,temp;

 for(var i=0; i<array.length-1; i++){

  min=i;

  for(var j=i+1; j<array.length; j++){

   if(array[j]<array[min]){

    min=j;

   }

  }

  swap(array,min,i);

 }

 console.log(array);

}//选择排序

function swap(array,i,j){

 var temp =array[i];

 array[i]=array[j];

 array[j]=temp;

}//两个数字交换

ログイン後にコピー

挿入ソート:

まず、最初の 2 つのデータを小さいデータから大きいデータまで比較します。

次に、3番目のデータと最初に配置した2つのデータを比較し、3番目のデータを適切な位置に挿入します。等々。

(挿入ソートには2つのループがあります。外側のループは配列を1つずつ移動し、内側のループは外側のループで選択された要素をその前の数値と比較します。)

時間計算量O(n^2 )

1

2

3

4

5

6

7

8

9

10

11

12

function insertSort(arr){

 var temp, j;

 for(var i=1; i<arr.length; i++){

  temp =arr[i];

  j=i;

  while(j>0 && arr[j-1]>temp){

   arr[j]=arr[j-1];

   j--;

  }

  arr[j]=temp;

 }

}

ログイン後にコピー

以上は皆さんのためにまとめたもので、今後皆さんのお役に立てれば幸いです。

関連記事:

フォームにデータをカプセル化して送信するプロセス

JavaScriptで繰り返される要素の出現数をカウントする

JQUERYを使用して複数のAJAXリクエストを実装する方法

vuex を呼び出してインターフェイスデータを vue.js に保存する方法

以上がJSソートアルゴリズムの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート