創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務器提供商,新人活動買多久送多久,劃算不套路!
十多年建站經(jīng)驗, 網(wǎng)站制作、網(wǎng)站設計客戶的見證與正確選擇。成都創(chuàng)新互聯(lián)提供完善的營銷型網(wǎng)頁建站明細報價表。后期開發(fā)更加便捷高效,我們致力于追求更美、更快、更規(guī)范。利用Java實現(xiàn)一個希爾排序的方法?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
一、希爾排序(Shell Sort)
希爾排序(Shell Sort)是一種插入排序算法,因D.L.Shell于1959年提出而得名。
Shell排序又稱作縮小增量排序。
二、希爾排序的基本思想
希爾排序的中心思想就是:將數(shù)據(jù)進行分組,然后對每一組數(shù)據(jù)進行排序,在每一組數(shù)據(jù)都有序之后,就可以對所有的分組利用插入排序進行最后一次排序。這樣可以顯著減少交換的次數(shù),以達到加快排序速度的目的。
希爾排序的中心思想:先取一個小于n的整數(shù)d1作為第一個增量,把文件的全部記錄分成d1個組。所有距離為dl的倍數(shù)的記錄放在同一個組中。先在各組內(nèi)進行直接插人排序;然后,取第二個增量d2 該方法實質(zhì)上是一種分組插入方法。 shell排序的算法實現(xiàn):void ShellPass(SeqList R,int d)
{//希爾排序中的一趟排序,d為當前增量
for(i=d+1;i<=n;i++) //將R[d+1..n]分別插入各組當前的有序區(qū)
if(R[i].key
分享標題:利用Java實現(xiàn)一個希爾排序的方法-創(chuàng)新互聯(lián)
文章網(wǎng)址:http://weahome.cn/article/djcpso.html