摘要:一選擇排序基本思想找到數組最小的元素,將它和數組紅第一個元素交換位置,接下來,在剩下的元素中找到最小的元素,將它與數組的第二個元素交換位置,往復如此,直到將整個數組排序。特點運行時間和輸入無關。
一. 選擇排序 1.基本思想
找到數組最小的元素,將它和數組紅第一個元素交換位置,接下來,在剩下的元素中找到最小的元素,將它與數組的第二個元素交換位置,往復如此,直到將整個數組排序。基本點就是不斷地選擇剩余元素之中的最小者。
2.特點運行時間和輸入無關。
對于長度為N的數組,選擇排序需要大約N2/2次比較和N次交換
數據移動是最少的
交換次數和數組的大小是線性關系。
使用javascript實現的效果
function select(array){ var len=array.length; for(var i=0;i二、插入排序 1.基本思想 將一個元素插入到其它已經有序的牌中的適當位置,因此其他所有元素在插入之前都向右移動一位,為新元素騰出空間。
2.特點插入排序所需的時間取決于輸入中元素的初始順序,一個有序的序列比隨機順序的序列花費的時間更少。
對于隨進排列的長度為N且主鍵不重復的數組,最壞情況下需要輸入N2/2function insert(array) { for (var i = 1; i < array.length; i++) { var key = array[i]; var j = i - 1; while (j >= 0 && array[j] > key) { array[j + 1] = array[j]; j--; } array[j + 1] = key; } return array; }
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/91648.html
摘要:之所以把冒泡排序選擇排序插入排序放在一起比較,是因為它們的平均時間復雜度都為。其中,冒泡排序就是原地排序算法。所以冒泡排序是穩定的排序算法。選擇排序思路選擇排序算法的實現思路有點類似插入排序,也分已排序區間和未排序區間。 showImg(https://segmentfault.com/img/bVbuvnj?w=900&h=250); 1. 前言 算法為王。 想學好前端,先練好內功,...
摘要:筆者寫的數據結構與算法之美系列用的語言是,旨在入門數據結構與算法和方便以后復習。這應該是目前較為簡單的十大經典排序算法的文章講解了吧。比如原本在的前面,而,排序之后,在的后面十大經典排序算法冒泡排序思想冒泡排序只會操作相鄰的兩個數據。 showImg(https://segmentfault.com/img/bVbvHet); 1. 前言 算法為王。想學好前端,先練好內功,內功不行,就...
摘要:代碼實現六堆排序算法簡介堆排序是指利用堆這種數據結構所設計的一種排序算法。九計數排序算法簡介計數排序是一種穩定的排序算法。計數排序不是比較排序,排序的速度快于任何比較排序算法。 贊助我以寫出更好的文章,give me a cup of coffee? 2017最新最全前端面試題 1、插入排序 1)算法簡介 插入排序(Insertion-Sort)的算法描述是一種簡單直觀的排序算法。它...
摘要:推薦一下,,這里還有個可視化的排序博客,各大排序算法的實現都栩栩如生。堆排序堆排序是指利用堆這種數據結構所設計的一種排序算法。共勉參考維基百科排序搜索聊一聊排序算法秒殺種排序算法版排序圖解排序算法實現歡迎來我的博客交流 最近看到了很多公司都在準備明年的實習校招,雖然離三月份還有一段時間,感覺已經可以準備了。在網上看了一些排序算法和數組去重操作,感覺都寫的很好,心血來潮,也來寫一寫。 s...
摘要:快速排序,參考排序算法的完整實現各種排序算法的完整實現如下冒泡排序選擇排序插入排序歸并排序快速排序,參考排序方法驗證冒泡排序選擇排序插入排序歸并排序快速排序源碼地址的數據結構與算法三源碼 1 排序和搜索算法 1.1 排序算法 1.1.1 冒泡排序 冒泡排序比較任何兩個相鄰的項,如果第一個比第二個大,則交換它們。元素項向上移動至正確的順序,就好像氣泡升至表面一樣,冒泡排序因此得名。冒泡...
摘要:冒泡排序冒泡排序也是一種簡單直觀的排序算法。但希爾排序是非穩定排序算法。快速排序又是一種分而治之思想在排序算法上的典型應用。本質上來看,快速排序應該算是在冒泡排序基礎上的遞歸分治法。 冒泡排序 冒泡排序(Bubble Sort)也是一種簡單直觀的排序算法。它重復地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重復地進行直到沒有再需要交換,也就...
閱讀 3898·2021-11-22 13:54
閱讀 2673·2021-09-30 09:48
閱讀 2359·2021-09-28 09:36
閱讀 3110·2021-09-22 15:26
閱讀 1342·2019-08-30 15:55
閱讀 2509·2019-08-30 15:54
閱讀 1424·2019-08-30 14:17
閱讀 2340·2019-08-28 18:25