內省排序的實現過程是這樣的,首先由快速排序開始,當遞歸深度超過一定程度時,轉換為堆排序。所以內省排序既能在常規數據集上實現快速排序的高性能,又能在最壞情況下仍保持 O(N log N) 的時間複雜度。
在快速排序算法中,一個關鍵操作就是選擇基準點(Pivot):元素將被此基準點分開成兩部分。最簡單的基準點選擇算法是使用第一個或者最後一個元素,但這在排列已部分有序的序列上性能很糟。Niklaus Wirth為此設計了一個快速排序的變體,使用處於中間的元素來防止在某些特定序列上性能退化為O(N ²)的狀況。這個3基準中位數選擇算法從序列的第一,中間和最後一個元素取得中位數來作為基準,雖然這個算法在現實世界的數據上性能表現良好,但經過精心設計的序列仍能大幅降低此算法性能。這樣就有攻擊者精心設計序列傳送到網際網路伺服器以進行拒絕服務(DOS)攻擊的潛在可能性。
Musser研究指出,在為3基準中位數選擇算法精心設計的100,000個元素序列上,introsort的運行時間是快速排序的1 / 200。在Musser的算法中,最終較小範圍內數據的排序由Sedgewick提出的小數據排序算法完成。
相關詞條
-
jQuery基礎教程 (第4版)
內容介紹本書由jQuery API網站維護者親自撰寫,第一版自2008上市以來,一版再版,累計重印14次,是國內首屈一指的jQu...
內容介紹 作者介紹 作品目錄 -
啟稚搖籃
智慧型、空間智慧型、肢體運動智慧型、內省智慧型、人際關係智慧型和自然智慧型。我們相信...,但在瞬息萬變的現今社會,人際智慧型顯然是尤為重要。內省智慧型 啟稚搖籃 如果你的內省智慧型很高,你就能清楚什麼時候、怎么樣以一種合理的方式、在正確的時...
品牌介紹 啟稚搖籃特色 啟稚搖籃八大智慧型理論 啟稚搖籃五大課程 啟稚搖籃品牌歷程 -
中科天璣
天璣開發安全虛擬化產品Golaxy Minato,以獨特的內省方式為行業...
公司簡介 發展歷史 業務部門介紹 產品 客戶案例 -
Python學習手冊:第4版
103 重訪嵌套 104 鍵的排序...
基本信息 內容簡介 圖書目錄 譯者序 作者簡介 -
武漢中百集團股份有限公司
進出口貿易、電子商務、物流配送等領域的現代化企業集團。根據全國連鎖經營排序...發展的第一家便民超市開業,標誌著公司在內省二級城市發展便民超市邁出第一步...% 。根據全國連鎖經營排序,公司連續8年進入全國連鎖30強,連鎖網點...
企業簡介 企業事記 歷史沿革 子公司 經營業績 -
空間表象模型
線性三段論問題的。要研究被試宣稱的是在一種表象空間中排列項目的內省報告...在空間中排序一樣,有如在卡車實驗中那樣。這種差異為“為了理解B的位置...
問題和假設 試驗階段 實驗結果 模型結論 參考資料 -
Java經典實例
和Preferences類7.8排序7.9避免頻繁地排序7.10排除重複...和包裝機制第24章JaVa執行緒第25章內省或“命名類的類”第26章...
內容簡介 作者簡介 目錄 序言 -
李坧
人物生平冊封世子朝鮮王朝的亡國之君——李坧於同治十三年甲戌(1874年)二月初八日出生於李氏朝鮮首都漢城(今韓國首爾)昌德宮觀物...
人物生平 主要成就 軼事典故 家族成員 個人作品 -
體驗式培訓
起源二戰期間的英國戰火飄搖。大西洋商務船隊屢遭德國人襲擊,許多英方年輕海員因為缺乏臨戰經驗葬身海底。而逃生回來的不一定是身強力壯...
起源 簡介 本質 學習方法 創業