




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、折半插入排序 binary insertion sort v 基本概念 折半插入排序(binary insertion sort)是對插入排序算法的一種改 進,由于排序算法過程中,就是不斷的依次將元素插入前面已排好序的 序列中。由于前半部分為已排好序的數(shù)列,這樣我們不用按順序依次尋 找插入點,可以采用折半查找的方法來加快尋找插入點的速度。 v具體操作 在將一個新元素插入已排好序的數(shù)組的過程中,尋找插入點時, 將待插入?yún)^(qū)域的首元素設(shè)置為alow,末元素設(shè)置為ahigh,則輪比 較時將待插入元素與am,其中m=(low+high)/2相比較,如果比參考元 素大,則選擇alow到am-1為新的插入?yún)^(qū)
2、域(即high=m-1),否則選擇 am+1到ahigh為新的插入?yún)^(qū)域(即low=m+1),如此直至 low=high不成立,即將此位置之后所有元素后移一位,并將新元素 插入ahigh+1。 v穩(wěn)定性及復(fù)雜度 折半插入排序算法是一種穩(wěn)定的排序算法,比直接插入算法明顯 減少了關(guān)鍵字之間比較的次數(shù),因此速度比直接插入排序算法快,但 記錄移動的次數(shù)沒有變,所以折半插入排序算法的時間復(fù)雜度仍然為 O(n2),與直接插入排序算法相同。附加空間O(1)。 p 折半插入算法與直接插入不同是: p 不是比的過程,那是插的過程。二分排序想名字就是把有序的東西分 成2半。比如說 你向1 2 3 4 5 6這個有序
3、序列插入4,你怎么插,你 可以先和6比,在和5比這樣可以做。但是作為一個有序序列你如果和 中間比,如果比中間大就和后面那一部分比,然后后面又找中間部分。 在平均的情況下比直接插這比要快。 算法如下: pvoid BInsertSort(Record *arr, int length) / length是要排序的元素的個數(shù),0號單元除外 p pfor (int i = 2; i = length; +i) parr0 = arri; / 將arri暫存到arr0 pint low = 1; pint high = i - 1; pwhile (low = high) / 在arrlow.high中折半查找有序插入的位置 pint m = (low + high) / 2; / 折半 pif (arr0.key = high + 1; -j) par
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T-ZZB 3683-2024 水松紙卷筒料圓壓圓燙金機
- 二零二五年度房屋租賃合同(含瑜伽館)
- 2025年度肥料產(chǎn)品包裝設(shè)計及印刷合同
- 2025年度綠色生態(tài)果園轉(zhuǎn)讓協(xié)議書
- 二零二五年度智慧城市建設(shè)項目業(yè)績提成合同
- 天津市2025年度勞動合同解除經(jīng)濟補償金支付與發(fā)放合同
- 二零二五年度科研機構(gòu)與高校人才合作就業(yè)協(xié)議書范本
- 二零二五年度臨時協(xié)議書:智慧社區(qū)建設(shè)與物業(yè)管理合作
- 2025年度智能車庫租賃與智慧城市建設(shè)項目合同
- 2025年度裝配行業(yè)人才培養(yǎng)終止合同協(xié)議
- FOCUS-PDCA改善案例-提高術(shù)前手術(shù)部位皮膚準備合格率醫(yī)院品質(zhì)管理成果匯報
- 2024解析:第五章透鏡及其應(yīng)用-基礎(chǔ)練(解析版)
- 河南省第二屆職業(yè)技能大賽健康和社會照護項(世賽)項目技術(shù)工作文件
- 《護士禮儀與溝通》課件
- 專題05標點符號考點專訓(xùn)(01)(含答案)2025年新高考語文一輪復(fù)習(xí)考點滿分寶典
- 保密法實施條例培訓(xùn)
- 鉗工工藝學(xué)(第6版)完整全套教學(xué)課件
- DB11T 1035-2013 城市軌道交通能源消耗評價方法
- 老年科護士進修匯報
- 2024新能源光伏電站運行規(guī)程和檢修規(guī)程
- 同等學(xué)力英語申碩考試詞匯(第六版大綱)電子版
評論
0/150
提交評論