freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

101概述-文庫(kù)吧資料

2024-10-08 12:42本頁(yè)面
  

【正文】 1 73 55 40 34 98 例如 : 是堆 14不 堆排序即是利用 堆的特性 對(duì)記錄序列進(jìn)行排序的一種排序方法。 // 與第 i 個(gè)記錄交換 時(shí)間性能分析 對(duì) n 個(gè)記錄進(jìn)行簡(jiǎn)單選擇排序,所需進(jìn)行的 關(guān)鍵字間的比較次數(shù) 總計(jì)為: 移動(dòng)記錄的次數(shù) , 最小值為 0, 最大值為 3(n1) 。 ++i) { // 選擇第 i 小的記錄,并交換到位 } } // SelectSort j = SelectMinKey(R, i)。 for (i=1。 為避免出現(xiàn)這種情況, 需在進(jìn)行一次劃分之前,進(jìn)行“ 予處理 ”, 即: 先對(duì) R(s).key, R(t).key 和 R[?(s+t)/2?].key,進(jìn)行相互比較,然后 取 關(guān)鍵字為 “三者之中” 的記錄 為樞軸 記錄。 若待排序列中記錄的關(guān)鍵字是隨機(jī)分布的,則 k 取 1 至 n 中任意一值的可能性相同。 } // QuickSort 第一次調(diào)用函數(shù) Qsort 時(shí),待排序記錄序列的上、下界分別為 1 和 。 // 對(duì)高子序列遞歸排序 void QuickSort( SqList amp。 // 對(duì) R[s..t] 進(jìn)行 一次劃分 QSort(R, s, pivotloc1)。 無(wú) 序 的 記 錄 序 列 無(wú)序記錄子序列 (1) 無(wú)序子序列 (2) 樞軸 一次劃分 分別進(jìn)行快速排序 void QSort (RedType amp。 return low。 // 從左向右搜索 R[high] = R[low]。amp。 // 從右向左搜索 R[low] = R[high]。amp。 pivotkey = R[low].key。 52 49 80 36 14 58 61 97 23 75s t low high 設(shè) R[s]=52 為樞軸 將 R[high].key 和 樞軸的關(guān)鍵字進(jìn)行比較,要求 R[high].key ≥ 樞軸的關(guān)鍵字 將 R[low].key 和 樞軸的關(guān)鍵字進(jìn)行比較,要求 R[low].key ≤ 樞軸的關(guān)鍵字 high 23 low 80 high 14 low 52 例如 R[0] 52 low hig high high low 可見(jiàn),經(jīng)過(guò)“ 一次劃分 ” ,將關(guān)鍵字序列 52, 49, 80, 36, 14, 58, 61, 97, 23, 75 調(diào)整為 : 23, 49, 14, 36, (52) 58, 61, 97, 80, 75 在調(diào)整過(guò)程中,設(shè)立了兩個(gè)指針: low 和 high,它們的初值分別為: s 和 t, 之后逐漸減小 high,增加 low,并保證 R[high].key≥52,和 R[low].key≤52,否則進(jìn)行記錄的 “ 交換 ” 。 時(shí)間分析 : 最好的情況(關(guān)鍵字在記錄序列中順序有序): 只需進(jìn)行一趟起泡 “比較”的次數(shù): 最壞的情況(關(guān)鍵字在記錄序列中逆序有序): 需進(jìn)行 n1趟起泡 “比較”的次數(shù): 0 “移動(dòng)”的次數(shù): “移動(dòng)”的次數(shù): n1 2)1()1(2 ?????nnini 2)1(3)1(3 2 ?????nnini二、一趟快速排序(一次劃分) 目標(biāo): 找一個(gè)記錄, 以它的關(guān)鍵字作為“樞軸” , 凡其 關(guān)鍵字小于樞軸 的記錄均移動(dòng)至該記錄之前 , 反之,凡 關(guān)鍵字大于樞軸 的記錄均 移動(dòng)至該記錄之后 。 j i。 lastExchangeIndex = j。 i = lastExchangeIndex。 ++t) ShellInsert(L, dlta[k])。L, int dlta[], int t) { // 增量為 dlta[]的希爾排序 for (k=0。 // 記錄后移,查找插入位置 [j+dk] = [0]。([0].key[j].key)。 j0amp。 ++i ) if ( [i].key [idk].key) { [0] = [i]。L, int dk ) { for ( i=dk+1。 其中, d 稱(chēng)為增量,它的值在排序過(guò)程中從大到小逐漸縮小,直至最后一趟排序 減為 1。 所謂“宏觀”調(diào)整,指的是,“跳躍式” 的插入排序。 // 指向被移走的記錄 } p = q。 // q指示尚未調(diào)整的表尾 if ( p!= i ) { SL[p]←→SL[i]。 ++i ) { while (pi) p = SL[p].next。 // p指示第一個(gè)記錄的當(dāng)前位置 for ( i=1。 } p = q。 if ( p!= i ) { SL[p]←→SL[i]。 MAXINT 13 27 38 49 76 97 65 52 6 (6) (7) (7) (6) 4 0 5 3 0 1 2 3 4 5 6 7 8 i=4 p=(1),6 q=8 MAXINT 13 27 38 49 52 97 65 76 6 (6) (7) (7) (6) (8) 0 5 4 0 1 2 3 4 5 6 7 8 i=5 p=8 q=3 MAXINT 13 27 38 49 52 65 97 76 6 (6) (7) (7) (6) (8) (7) 0 4 0 1 2 3 4 5 6 7 8 i=6 p=(3),7 q=5 MAXINT 13 27 38 49 52 65 76 97 6 (6) (7) (7) (6) (8) (7) (8) 0 0 1 2 3 4 5 6 7 8 i=7 p=(5),8 q=4 while (pi) p = SL[p].next。 SL[i].next = p。 q = SL[p].next。 } // 結(jié)點(diǎn) i插入在結(jié)點(diǎn) j和結(jié)點(diǎn) k之間 }// LinsertionSort 算法中使用了三個(gè)指針: 其中: p指示第 i個(gè)記錄的當(dāng)前位置 i指示第 i個(gè)記錄應(yīng)在的位置 q指示第 i+1個(gè)記錄的當(dāng)前位置 如何在排序之后調(diào)整記錄序列? MAXINT 49 38 65 97 76 13 27 52 6 8 1 5 0 4 7 2 3 初始狀態(tài) 0 1 2 3 4 5 6 7 8 重排靜態(tài)鏈表數(shù)組中記錄的過(guò)程 MAXINT 13 38 65 97 76 49 27 52 6 (6) 1 5 0 4 8 2 3 0 1 2 3 4 5 6 7 8 MAXINT 13 27 65 97 76 49 38 52 6 (6) (7) 5 0 4 8 1 3 0 1 2 3 4 5 6 7 8 MAXINT 13 27 38 97 76 49 65 52 6 (6) (7) (7) 0 4 8 5 3 0 1 2 3 4 5 6 7 8 i=1 p=6 q=7 i=2 p=7 q=2 i=3 p=(2),7 q=1 p = SL[0].next。 { SL[j].next = i。SL[k].key= SL[i].key 。 i=n。 SL[1].next = 0。 } MAXINT 49 38 65 97 76 13 27 49 2 3 1 5 0 4 0 1 2 3 4 5 6 7 8 i=5 MAXINT 49 38 65 97 76 13 27 49 6 3 1 5 0 4 2 0 1 2 3 4 5 6 7 8 i=6 MAXINT 49 38 65 97 76 13 27 49 6 3 1 5 0 4 7 2 0 1 2 3 4 5 6 7 8 i=7 MAXINT 49 38 65 97 76 13 27 49 6 8 1 5 0 4 7 2 3 0 1 2 3 4 5 6 7 8 i=8 void LInsertionSort (
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1