js實現各種排序演算法

2021-06-10 05:36:06 字數 425 閱讀 7124

氣泡排序 時間複雜度為o(n^2),有兩個優點:

1.「程式設計複雜度」很低,很容易寫出**;

2.具有穩定性,這裡的穩定性是指原序列中相同元素的相對順序仍然保持到排序後的序列,而堆排序、快速排序均不具有穩定性。

實現基本思路:氣泡排序是經過n-1趟子排序完成的,第i趟子排序從第1個數至第n-i個數,若第i個數比後乙個數大(則公升序,小則降序)則交換兩數。

插入排序(insertion sort)的演算法描述是一種簡單直觀的排序演算法。它的工作原理是通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃瞄,找到相應位置並插入。插入排序在實現上,通常採用in-place排序(即只需用到o(1)的額外空間的排序),因而在從後向前掃瞄過程中,需要反覆把已排序元素逐步向後挪位,為最新元素提供插入空間。

在序列基本有序的情況下,是最優時間複雜度,也是所有排序演算法中最快的。

js實現各種常用排序演算法

氣泡排序 var bubblesort function arr if flag 2.選擇排序var selectsort function arr if i min console.log i 1 arr function swap arr,index1,index2 3.插入排序var inse...

js 實現各種排序

插入排序 function insert1 arr console.log array 選擇排序 function selectsort array if min i 希爾排序 function shellsort arr console.log arr 歸併排序 function msort so...

js 實現各種排序

一萬個隨機數排序五次執行時間分別為 362 389 361 372 408 毫秒 var arr for var j 0 j 10000 j var curr new date function bubble sort arr bubble sort arr console.log new date...