冒泡,快排,插入,希爾,選擇,歸併演算法

2021-10-05 17:51:27 字數 434 閱讀 4945

演算法,根據資料的樣子,進行做計算。爭取在固有資料的基礎上,達到計算次數、記憶體占用最少的運算方式。現將集中演算法歸納如下:

演算法名稱

演算法概要

冒泡挨個拿陣列的元素和後面的做比較,發現大小不對,則交換位置,這樣導致按照座標向後運算,座標資料是一定有序的,相對後面最大或最小

快排拿乙個陣列,向前查詢,大於或小於則交換位置放到這個陣列最前面,大於或小於放到陣列最後面

插入給個陣列,不停的和第乙個和最後乙個陣列比較大小,判斷插入最前面還是最後面

希爾元素不停的跳著和相差幾個座標的元素比較大小,形成一組,向前或向後交換位置,不停的縮小座標差,最終實現有序性

選擇每次從剩餘陣列裡找出最大或者最小的元素,形成有序的陣列

歸併演算法

將資料進行拆開計算,最終得出每個有序的拆分資料,再進行排序,從nn變成了m(n/m)*(n/m)的運算次數

排序演算法 插入 選擇 冒泡 快排 歸併

可以找一些帖子理解下幾類排序演算法或者聽下陳越姥姥在mooc上的資料結構 選擇類排序 交換類排序 歸併排序 基數排序 拓撲排序 從待排序的n個記錄中的第二個記錄開始,依次與前面的記錄比較並尋找插入的位置,每次外迴圈結束後,將當前的數插入到合適的位置。void sort insert int a,in...

排序演算法 冒泡 插入 歸併 快排

整理了一下幾種常見的排序演算法,包括冒泡 插入 歸併 快排。還有另外幾種待整理 堆排序 希爾排序 桶排序 直接上 include include include using namespace std void swap int a,int b 最簡單的氣泡排序,時間複雜度o n n void bu...

冒泡 選擇 插入 快排 歸併的實現

冒泡 var arr 29 45,51 68,72 97 外層迴圈,控制趟數,每一次找到乙個最大值 for var i 0 i arr.length 1 i console.log arr 2,4,5,12,31,32,45,52,78,89 插入 function loop arr arr j 1...