博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
希尔排序
阅读量:5251 次
发布时间:2019-06-14

本文共 905 字,大约阅读时间需要 3 分钟。

/* * 希尔排序(在具有几万组数据量排序时有较好的表现~) * 1.希尔排序的整体时间复杂度与增量序列的选取有关,目前没有统一的最优增量序列。 * 2.Sedgewick增量序列:{1,5,19,41,109,。。} 按照 9*4^i-9*2^i+1或4^i-3*2^i+1进行选取。   猜想时间复杂度: 平均:O(n^6/7) 最坏: O(n*4/3).. */#include "iostream"using namespace std;    int N = 10;int a[10] = { 3,2,1,5,7,6,9,8,2,0 };void shellSort() {    int si, d, p, i;    int Sedgewick[] = { 929,505,209,41,19,5,1,0 };    for (si = 0; Sedgewick[si] >= N; si++); /* 初始的sedgeWick[si]不能超过排序数组的长度 */         for (d = Sedgewick[si]; d > 0; d = Sedgewick[++si])            for (p = d; p < N; p++) { /* 插入排序 */                int temp = a[p];                for (i = p; i >= d&& a[i - d] > temp; i -= d)                    a[i] = a[i - d];                a[i] = temp;            }}void print() {    for (int i = 0; i < N; i++)        cout << a[i] << " ";    cout << endl;}int main() {    shellSort();    print();}

 

转载于:https://www.cnblogs.com/minesweeper/p/6131138.html

你可能感兴趣的文章
poj 3164 最小树形图(朱刘算法)
查看>>
服务器内存泄露 , 重启后恢复问题解决方案
查看>>
android一些细节问题
查看>>
KDESVN中commit时出现containing working copy admin area is missing错误提示
查看>>
利用AOP写2PC框架(二)
查看>>
【动态规划】skiing
查看>>
java定时器的使用(Timer)
查看>>
ef codefirst VS里修改数据表结构后更新到数据库
查看>>
boost 同步定时器
查看>>
[ROS] Chinese MOOC || Chapter-4.4 Action
查看>>
简单的数据库操作
查看>>
iOS-解决iOS8及以上设置applicationIconBadgeNumber报错的问题
查看>>
亡灵序曲-The Dawn
查看>>
Redmine
查看>>
帧的最小长度 CSMA/CD
查看>>
xib文件加载后设置frame无效问题
查看>>
编程算法 - 左旋转字符串 代码(C)
查看>>
IOS解析XML
查看>>
Python3多线程爬取meizitu的图片
查看>>
树状数组及其他特别简单的扩展
查看>>