国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

排序算法 之 希爾排序

2019-11-10 20:34:50
字體:
來源:轉載
供稿:網友

原文地址http://www.cnblogs.com/liukemng/p/3723976.html

希爾排序是由D.L.Shell于1959年提出的,所以稱為希爾排序。希爾排序又稱縮小增量排序,是插入排序的一種改進。

基本思想:希爾排序是基于插入排序的以下特點:待排序的序列元素數量越少排序速度越快;待排序序列的元素基本有序時排序速度越快;基于以上思想將待排序序列分為多個子序列分別進行插入排序,然后減少子序列的個數重新進行插入排序,重復以上過程,直至待排序的序列只有一個再進行一次插入排序,則排序完成序列有序。

代碼實現:

復制代碼
/// <summary>/// 希爾排序/// </summary>/// <param name="intArray"></param>/// <param name="length"></param>public static void ShellSort(int[] intArray, int length){    int gap, i, j, temp;    for (gap = length / 2; gap >= 1; gap = gap / 3+1)    {        for(i=gap;i<length;i++)        {            temp=intArray[i];            for(j=i-gap;j>=0&&intArray[j]>temp;j-=gap)                intArray[j+gap]=intArray[j];            intArray[j+gap]=temp;        }        if(gap==1)            break;    }}復制代碼

需說明的是不同的間隔gap選擇會對排序的效率有不同的影響,且不容易確定最佳的間隔gap,感興趣的朋友可以搜索相關資料作為參考。

以上就是希爾排序的內容。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 晋州市| 西和县| 鄂托克前旗| 广昌县| 通辽市| 化德县| 潢川县| 瑞金市| 通海县| 宁国市| 儋州市| 大荔县| 新巴尔虎左旗| 托克托县| 衡水市| 中西区| 丹寨县| 都江堰市| 金阳县| 陆河县| 贵溪市| 赤壁市| 航空| 罗定市| 沂南县| 望奎县| 洛浦县| 蚌埠市| 尉氏县| 棋牌| 伊吾县| 灵璧县| 樟树市| 洛宁县| 庆元县| 东莞市| 上思县| 天全县| 陆良县| 扶绥县| 鄱阳县|