最近中文字幕完整版2018一页,亚洲色图片区,亚洲三级高清免费,亚洲综合久久成人av,亚洲综合久久一本久道

2022計算機考研之各類排序算法的特點及比較

2021-09-29來源:海文考研

 

報考研究生 考研報名時間 考研究生的條件 考研預報名 考研專業(yè)

 

計算機的競爭度逐年加大,報考學生越來越多,對于打算報考2022考研計算機的考生們來說復習是難點,大家復習也需要講究方法,掌握一定的技巧。下面海文考研老師整理了2022考研計算機考點:各類排序算法的特點及比較,供大家參考。

 

 

幾種主要的排序算法:冒泡排序、選擇排序、插入排序、快速排序、歸并排序、Shell排序、堆排序等。

冒泡排序算法思想:將待排序的元素看作是豎著排列的“氣泡”,較小的元素比較輕,從而要往上浮。在冒泡排序算法中我們要對這個“氣泡”序列處理若干遍。所謂一遍處理,就是自底向上檢查一遍這個序列,并時刻注意兩個相鄰的元素的順序是否正確。如果發(fā)現(xiàn)兩個相鄰元素的順序不對,即“輕”的元素在下面,就交換它們的位置。

選擇排序算法思想:選擇排序的基本思想是對待排序的記錄序列進行n-1遍的處理,第i遍處理是將L[i..n]中最小者與L[i]交換位置。這樣,經(jīng)過i遍處理之后,前i個記錄的位置已經(jīng)是正確的了。

插入排序算法思想:經(jīng)過i-1遍處理后,L[1..i-1]己排好序。第i遍處理僅將L[i]插入L[1..i-1]的適當位置,使得L[1..i]又是排好序的序列。

快速排序算法思想:快速排序的基本思想是基于分治策略的。對于輸入的子序列L[p..r],如果規(guī)模足夠小則直接進行排序,否則分三步處理:1. 分解(Divide):將輸入的序列L[p..r]劃分成兩個非空子序列L[p..q]和L[q+1..r],使L[p..q]中任一元素的值不大于L[q+1..r]中任一元素的值。2. 遞歸求解(Conquer):通過遞歸調(diào)用快速排序算法分別對L[p..q]和L[q+1..r]進行排序。3. 合并(Merge):由于對分解出的兩個子序列的排序是就地進行的,所以在L[p..q]和L[q+1..r]都排好序后不需要執(zhí)行任何計算L[p..r]就已排好序。

歸并排序算法思想:分而治之(divide - conquer)。每個遞歸過程涉及三個步驟:1.分解,把待排序的n個元素的序列分解成兩個子序列,每個子序列包括 n/2 個元素。2. 治理,對每個子序列分別調(diào)用歸并排序MergeSort,進行遞歸操作。3. 合并,合并兩個排好序的子序列,生成排序結(jié)果。

Shell排序算法思想:算法先將要排序的一組數(shù)按某個增量d分成若干組,每組中記錄的下標相差d.對每組中全部元素進行排序,然后再用一個較小的增量對它進行,在每組中再進行排序。當增量減到1時,整個要排序的數(shù)被分成一組,排序完成。

堆排序算法思想:用大根堆排序的基本思想:1.先將初始文件R[1..n]建成一個大根堆,此堆為初始的無序區(qū)。2.再將關(guān)鍵字最大的記錄R[1](即堆頂)和無序區(qū)的最后一個記錄R[n]交換,由此得到新的無序區(qū)R[1..n-1]和有序區(qū)R[n],且滿足R[1..n-1].keys≤R[n].key。3. 由于交換后新的根R[1]可能違反堆性質(zhì),故應(yīng)將當前無序區(qū)R[1..n-1]調(diào)整為堆。

(注:本文來自網(wǎng)絡(luò) ,如有侵權(quán),請聯(lián)系刪除)

 

 

計算機

 

(內(nèi)容來源于網(wǎng)絡(luò),由海文考研收集整理,侵權(quán)必刪!)

 

上一篇: 2022考研:專業(yè)課該怎么復習準備?
下一篇: 2022計算機考研復習:帶權(quán)圖的最短路徑算法及應(yīng)用