日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

【排序算法】-折半插入排序

來源: 責編: 時間:2023-10-06 19:19:23 380觀看
導讀基本思想先來回顧一下直接插入排序的算法思想,就是在前面已經排好序的子序列中尋找一個待插入的位置,然后將待插入元素插入到該位置上。其中尋找插入位置的過程我們是與每一個元素進行比較,相當于順序查找,我們知道順序查

基本思想

先來回顧一下直接插入排序的算法思想,就是在前面已經排好序的子序列中尋找一個待插入的位置,然后將待插入元素插入到該位置上。IVd28資訊網——每日最新資訊28at.com

其中尋找插入位置的過程我們是與每一個元素進行比較,相當于順序查找,我們知道順序查找的效率是比較低的,那么有沒有辦法能夠提高查找插入位置的效率呢?IVd28資訊網——每日最新資訊28at.com

很巧的是,前面的序列既然已經是有序的了,我們何不采用折半查找來找出插入位置呢?折半查找的前提就是序列有序,采用折半查找法查找插入位置的插入排序算法,我們稱其為折半插入排序。IVd28資訊網——每日最新資訊28at.com

圖解排序過程

折半插入算法非常簡單,前提你得掌握直接插入排序和折半查找的算法,來看一個例子:IVd28資訊網——每日最新資訊28at.com

IVd28資訊網——每日最新資訊28at.com

原序列的前四個元素已經有序,則從i位置元素開始進行插入排序,先將i位置元素存入下標0作為哨兵,然后在子序列中尋找待插入位置。IVd28資訊網——每日最新資訊28at.com

這時我們可以采用折半查找法進行查找,定義三個變量lowhighmid,初始low = 1,high = i -1,則mid為2IVd28資訊網——每日最新資訊28at.com

讓哨兵位置元素值與mid位置元素值比較,7大于5,所以插入位置應該在右半區,讓low = mid + 1,high不變,繼續折半查找:IVd28資訊網——每日最新資訊28at.com

IVd28資訊網——每日最新資訊28at.com

此時high大于low,查找結束,則插入位置即為high + 1,這些都是折半查找的內容,這里不贅述。IVd28資訊網——每日最新資訊28at.com

找到了插入位置為high + 1,可不能直接將待插入元素值存入high + 1位置,這樣會覆蓋原先的元素值,而應該從high + 1位置開始,到i - 1位置為止,將該范圍內的所有元素后移,空開high + 1位置,最后將哨兵位置元素插入到high + 1位置即可。IVd28資訊網——每日最新資訊28at.com

代碼實現

先構建待排序序列:IVd28資訊網——每日最新資訊28at.com

public class ElemType {    int key;}public class SSTable {    ElemType[] n;    int length;    public SSTable() {        this.length = 11;        this.n = new ElemType[this.length + 1];        for (int i = 1; i <= this.length; i++) {            this.n[i] = new ElemType();        }        this.n[1].key = 3;        this.n[2].key = 5;        this.n[3].key = 10;        this.n[4].key = 16;        this.n[5].key = 7;        this.n[6].key = 32;        this.n[7].key = 83;        this.n[8].key = 23;        this.n[9].key = 54;        this.n[10].key = 29;        this.n[11].key = 96;    }}

折半插入排序算法如下:IVd28資訊網——每日最新資訊28at.com

public class Main {    public static void BInsertSort(SSTable t) {        int i, j, low, high, mid;        //從第二個元素開始插入排序        for (i = 2; i <= t.length; ++i) {            //將待插入元素存入哨兵位置            ElemType temp = t.n[i];            //為low和high賦初值            low = 1;            high = i - 1;            while (low <= high) {                mid = (low + high) / 2;                if (temp.key < t.n[mid].key) {                    high = mid - 1;                } else {                    low = mid + 1;                }            }            //將high + 1到i - 1的元素后移            for (j = i - 1; j >= high + 1; --j) {                t.n[j + 1] = t.n[j];            }            //將哨兵位置元素插入j + 1位置            t.n[j + 1] = temp;        }    }    public static void main(String[] args) {        SSTable st = new SSTable();        BInsertSort(st);    }}

性能分析

可以肯定的是,折半插入排序的效率是要高于直接插入排序的,它所需要的關鍵碼比較次數與待排序對象序列的初始排列無關,僅依賴于對象個數。在插入第i個對象時,需要經過「log2i」 + 1次關鍵碼比較才能確定插入位置。IVd28資訊網——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-12133-0.html【排序算法】-折半插入排序

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 突破性能邊界,OpenSwoole 引領 PHP 網絡編程新時代!

下一篇: 推薦八個上熱搜的GitHub開源項目

標簽:
  • 熱門焦點
  • 2023 年的 Node.js 生態系統

    隨著技術的不斷演進和創新,Node.js 在 2023 年達到了一個新的高度。Node.js 擁有一個龐大的生態系統,可以幫助開發人員更快地實現復雜的應用。本文就來看看 Node.js 最新的生
  • 十個簡單但很有用的Python裝飾器

    裝飾器(Decorators)是Python中一種強大而靈活的功能,用于修改或增強函數或類的行為。裝飾器本質上是一個函數,它接受另一個函數或類作為參數,并返回一個新的函數或類。它們通常用
  • 如何使用JavaScript創建一只圖像放大鏡?

    譯者 | 布加迪審校 | 重樓如果您曾經瀏覽過購物網站,可能遇到過圖像放大功能。它可以讓您放大圖像的特定區域,以便瀏覽。結合這個小小的重要功能可以大大改善您網站的用戶體驗
  • JavaScript學習 -AES加密算法

    引言在當今數字化時代,前端應用程序扮演著重要角色,用戶的敏感數據經常在前端進行加密和解密操作。然而,這樣的操作在網絡傳輸和存儲中可能會受到惡意攻擊的威脅。為了確保數據
  • 造車兩年股價跌六成,小米的估值邏輯變了嗎?

    如果從小米官宣造車后的首個交易日起持有小米集團的股票,那么截至2023年上半年最后一個交易日,投資者將浮虧59.16%,同區間的恒生科技指數跌幅為52.78%
  • 信通院:小米、華為等11家應用商店基本完成APP簽名及驗簽工作

    中國信通院表示,目前,小米、華為、OPPO、vivo、360手機助手、百度手機助手、應用寶、豌豆莢和努比亞等9家應用商店,以及抖音和快手2家新型應用分發平
  • iQOO 11S新品發布會

    iQOO將在7月4日19:00舉行新品發布會,推出杭州亞運會電競賽事官方用機iQOO 11S。
  • 首發天璣9200+ iQOO Neo8系列發布首銷售價2299元起

    2023年5月23日晚,iQOO Neo8系列正式發布。其中,Neo系列首款Pro之作——iQOO Neo8 Pro強悍登場,限時售價3099元起;價位段最強性能手機iQOO Neo8同期上市
  • SN570 NVMe SSD固態硬盤 價格與性能兼具

    SN570 NVMe SSD固態硬盤是西部數據發布的最新一代WD Blue系列的固態硬盤,不僅閃存技術更為精進,性能也得到了進一步的躍升。WD Blue SN570 NVMe SSD的包裝外
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
午夜在线视频观看日韩17c| 国产综合色产| 欧美日韩一卡| 性欧美暴力猛交另类hd| 亚洲精品综合精品自拍| 亚洲免费成人av电影| 亚洲色在线视频| 欧美在线关看| 欧美69视频| 国产精品久久久久一区| 国产一区二区三区免费观看| 亚洲国产精品一区二区www在线| 亚洲激情自拍| 亚洲影院高清在线| 久久久一二三| 欧美视频福利| 韩国久久久久| 99国产精品视频免费观看| 亚洲一区二区三区色| 久久久www成人免费毛片麻豆| 欧美 日韩 国产 一区| 欧美视频在线观看免费| 国产一区视频在线看| 亚洲欧洲综合| 欧美一区国产在线| 欧美精品在线一区二区三区| 中文在线一区| 欧美一级精品大片| 久久国产手机看片| 欧美激情乱人伦| 国产欧美精品在线播放| 亚洲国产欧美一区二区三区同亚洲| 一区二区免费在线视频| 久久久久国产精品一区| 欧美性事在线| 亚洲国产精品激情在线观看| 亚洲欧美综合精品久久成人| 欧美高清在线一区| 国产一区二区精品丝袜| 亚洲午夜三级在线| 欧美丰满高潮xxxx喷水动漫| 国产日本欧美一区二区三区在线| 亚洲欧洲日产国产综合网| 欧美在线视频一区二区三区| 欧美日韩国产在线观看| 欧美午夜精品| 一区二区三区四区五区精品视频| 午夜精品免费视频| 免费观看成人网| 国产欧美在线播放| 99ri日韩精品视频| 免费视频一区| 国产一区二区成人| 亚洲在线成人| 欧美人与禽性xxxxx杂性| 精品成人久久| 欧美在线日韩| 国产精品福利在线观看网址| 亚洲国产成人精品女人久久久| 午夜免费在线观看精品视频| 欧美精品免费视频| 国产精品国内视频| 最新日韩av| 午夜精品久久久久久久白皮肤| 久久久五月天| 国产精品午夜在线观看| 一本一本大道香蕉久在线精品| 欧美成人资源| 亚洲国产国产亚洲一二三| 久久av一区二区三区漫画| 国产精品黄视频| 日韩西西人体444www| 免费在线亚洲欧美| 极品少妇一区二区三区精品视频| 欧美一区午夜精品| 国产乱码精品一区二区三区忘忧草 | 亚洲人成高清| 美女网站在线免费欧美精品| 亚洲精品在线看| 国产精品女主播| 一本色道久久综合亚洲精品小说 | 亚洲一区二区三区精品在线观看| 欧美黄网免费在线观看| 亚洲国内精品| 欧美激情影音先锋| 99精品视频网| 欧美日韩一区自拍| 亚洲深夜影院| 国产精品入口麻豆原神| 午夜精品免费在线| 国产日韩欧美日韩大片| 久久国产婷婷国产香蕉| 精品不卡视频| 欧美激情国产高清| 一本久道久久久| 国产精品久99| 久久国产乱子精品免费女 | 亚洲伦伦在线| 久久精品国产欧美激情| 国产日韩欧美一二三区| 亚洲男人第一av网站| 国产精品久久久久久妇女6080 | 一本不卡影院| 国产精品久久久久久久久久久久 | 国产日韩精品视频一区| 久久精品亚洲一区二区| 一色屋精品视频在线看| 欧美国产免费| 亚洲天堂av高清| 国产欧美日韩在线播放| 久久久久久久97| 亚洲欧洲午夜| 国产精品成人在线观看| 欧美一区二区精品在线| 伊人狠狠色j香婷婷综合| 欧美大尺度在线| 国产精品videosex极品| 亚洲精品一区久久久久久| 欧美日韩在线一区二区| 午夜精品视频在线观看| 狠狠爱www人成狠狠爱综合网| 牛人盗摄一区二区三区视频| 亚洲最新合集| 国产午夜精品一区二区三区视频 | 国产精品一区二区久久久| 欧美专区日韩视频| 亚洲激情一区| 国产精品性做久久久久久| 蜜臀av国产精品久久久久| 中文一区二区| 激情久久一区| 欧美三级韩国三级日本三斤| 久久不射电影网| 亚洲精品一区二区三区四区高清 | 亚洲欧美区自拍先锋| 在线观看欧美| 国产精品高潮呻吟久久| 久久男人资源视频| 国产精品99久久久久久人| 狠狠入ady亚洲精品经典电影| 欧美人与性动交cc0o| 久久av红桃一区二区小说| 欧美久久久久中文字幕| 亚洲永久视频| 亚洲国产高清自拍| 国产目拍亚洲精品99久久精品 | 国产精品网站一区| 欧美电影免费观看高清完整版 | 国产精品jizz在线观看美国 | 国产午夜精品一区理论片飘花| 欧美激情无毛| 久久久久久久一区二区三区| 中国女人久久久| 在线欧美影院| 国产日韩高清一区二区三区在线| 欧美精品日韩一区| 久久久久看片| 亚洲欧美日韩国产一区二区三区 | 亚洲在线黄色| 亚洲九九爱视频| 一区二区三区我不卡| 国产精品久久9| 欧美激情自拍| 另类av导航| 久久精品午夜| 午夜日韩av| 一区二区三区精品国产| 亚洲欧洲另类| 尤物yw午夜国产精品视频| 国产欧美日韩一区二区三区| 欧美日韩亚洲一区二区三区在线观看 | 亚洲精品你懂的| 好看的亚洲午夜视频在线| 国产精品视频大全| 欧美日韩调教| 欧美精品亚洲二区| 免费一级欧美片在线播放| 久久久精品欧美丰满| 欧美一级理论性理论a| 亚洲一区二区三区视频| 一区二区三区视频在线看| 亚洲精品女人| 亚洲日本成人| 亚洲欧洲在线一区| 亚洲日本成人在线观看| 在线电影国产精品| 激情丁香综合| 韩国成人精品a∨在线观看| 国产欧美一区二区精品秋霞影院| 国产精品久久久久9999| 国产精品扒开腿做爽爽爽视频| 欧美激情在线有限公司| 欧美黑人国产人伦爽爽爽| 美女视频黄免费的久久| 另类综合日韩欧美亚洲| 久久天堂精品| 久久综合中文| 免费看的黄色欧美网站| 麻豆精品精华液| 你懂的亚洲视频| 欧美精品亚洲| 欧美丝袜一区二区| 国产精品看片你懂得| 国产女优一区|