資料結構之簡單演算法(氣泡排序 選擇排序 插入排序)

2021-10-06 09:28:02 字數 1043 閱讀 6688

簡單的js資料**實現氣泡排序

//1.定義乙個簡單的無序陣列

var num = [12, 13, 10, 31, 11, 19];

//2.反向迴圈,每次剔除最右邊的數,因此次數越來越少

for (var j = num.length - 1; j > 0; j--)

}}

選擇排序是對氣泡排序的改進,比氣泡排序的效率高一點,但與其他演算法比較效率較低

//1.定義簡單無序陣列

var num = [14, 78, 121, 23, 12, 34, 67];

//2.外層迴圈:從0(初始索引)位置開始取出資料,直到num.length-2(初始索引)位置

for (var j = 0; j < num.length - 1; j++)

}//5.交換num[min]和min[j]的資料

var temp = num[min];

num[min] = num[j];

num[j] = temp;

}//控制台列印輸出結果檢視陣列是否排數序好

console.log(num);

插入排序比其他簡單排序演算法(氣泡排序、選擇排序)的效率要好點,可以認為是簡單排序演算法中效率最好的一種,插入排序演算法也是學習其他高階排序的基礎,比如希爾排序/快速排序等等,是高階的過度演算法之一,非常重要

//1.定義乙個無序陣列

var num = [94, 78, 121, 23, 12, 34, 67];

//2.外層迴圈,外層迴圈從1位置開始,依次遍歷直到num.length-1位置

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

num[i] = temp;

}//控制台列印輸出結果並檢視陣列是否排數序好

console.log(num);

資料結構之冒泡 選擇排序

氣泡排序和選擇排序都屬於內部排序,這兩種排序方式的平均時間複雜度和最壞時間複雜度都是 一 氣泡排序 氣泡排序是對待排序序列下標有小到大開始遍歷比較,若這兩個元素逆序,則交換,不逆序則繼續比較一下乙個,比較陣列長度 1趟即可。若是某一趟沒有交換,則證明這個陣列序列有序,退出即可。如下 氣泡排序 每一趟...

資料結構 排序之冒泡演算法

初級版本 交換排序,不滿足兩兩相鄰比較,讓每乙個關鍵字和它後面的每乙個比較 效率低 public void bubble 1 int arr print arr arr 標準版本 public void bubble 2 int arr print arr arr 優化版本1 避免已經有序的情況下無...

資料結構 排序演算法之選擇排序

一 選擇排序 最差的排序演算法 在選擇排序中,假定我們需要公升序,因此在每次排序中,需要找到最大的元素,將其放在最後,在每一次的迴圈中,都是將最大的元素放在最後,因此對於資料較多的陣列,迴圈的次數將與陣列中元素的個數一致,因此,在對於這種陣列進行排序時,將十分的浪費時間。有關選擇排序的思路,如下所示...