附有本人超級詳細解釋(看不懂的面壁十天!) 一、 實際問題: 希爾排序(Shell Sort)是插入排序的一種。因D.L.Shell于1959年提出而得名。它又稱“縮小增量分類法”,在時間效率上比插入、比較、冒泡等排序算法有了較大改進。能對無序序列按一定規律進行排序。 二、數學模型: 先取一個小于n的整數d1作為第一個增量,把文件的全部記錄分成d1個組。所有距離為dl的倍數的記錄放在同一個組中。先在各組內進行直接插人排序;然后,取第二個增量d2<d1重復上述的分組和排序,直至所取的增量dt=1(dt<dt-l<…<d2<d1),即所有記錄放在同一組中進行直接插入排序為止。該方法實質上是一種分組插入方法。 三、算法設計: 1、將相隔某個增量dlta[k]的元素構成一個子序列。在排序過程中,逐次減小這個增量,最后當h減到1時,進行一次插入排序,排序就完成。增量序列一般采用:dlta[k]=2t-k+1-1,其中t為排序趟數,1≤k≤t≤[log2 (n+1)],其中n為待排序序列的長度。按增量序列dlta[0..t-1]。 2、按增量dlta[k](1≤k≤t≤[log2 (n+1)])進行一趟希爾插入排序。 3、在主函數中控制程序執行流程。 4、時間復雜度:1≤k≤t≤[log2 (n+1)]時為O(n3/2)。
標簽: Shell 1959 Sort 排序
上傳時間: 2013-12-11
上傳用戶:天涯
21天學會用JAVA開發網絡游戲, 也是游戲類編程的入門資料,初學者用
標簽: JAVA 網絡游戲
上傳時間: 2015-06-04
上傳用戶:daguda
21天自學VC++,非常詳細的安排了21天的學習日程,按部就班,我就是照上面學的,頗有效果,
標簽: VC
上傳時間: 2013-12-08
上傳用戶:nanfeicui
proguard 3.5 java 混淆器 最新 免費 好用的 大家用用試一下吧 天行健-君子以自強不息 地勢坤-君子以厚德載物
標簽: proguard java 3.5 家
上傳時間: 2013-12-31
上傳用戶:plsee
在linux下的crawler程序,來自北大天網tiny search engine spider
標簽: crawler engine search spider
上傳時間: 2014-06-10
上傳用戶:cooran
delphi 圖書管理系統畢業設計,大家趕快下吧,限期10天哦.GOGOGOsir
標簽: GOGOGOsir delphi 圖書管理
上傳時間: 2013-12-23
上傳用戶:FreeSky
深圳南天東華磁卡讀寫程序,VC6可編譯執行
標簽: VC 東華 磁卡 讀寫程序
上傳時間: 2015-06-09
上傳用戶:it男一枚
在symbian下用Visual C++開發的網絡絡天室的程序
標簽: symbian Visual 網絡 程序
上傳時間: 2015-06-10
上傳用戶:123啊
《Perl CGI 6天入門》,一個簡明的Perl語言編寫CGI的教程。
標簽: Perl CGI
上傳時間: 2015-06-14
上傳用戶:jyycc
本程序是用VC++實現的.要求根據任意輸入的年月日,判斷該日是該年的哪天,程序實現的出錯處理.年月日用YYYYMMDD表示
標簽: YYYYMMDD 程序 年月日 VC
上傳時間: 2013-12-27
上傳用戶:qazxsw
蟲蟲下載站版權所有 京ICP備2021023401號-1