第一篇日记-关于希尔排序
2006-11-27 16:15
211 查看
希尔排序(Shellsort)是冲破二次时间屏障的第一批算法之一,不过还是属于亚二次时间界的。
希尔排序的好坏和增量序列(increment sequence)有很大的关系,最坏的情况时间仍然为N2的
希尔排序就是按照序列中的数字由大到小,在要排列的数组按照序列中的数字互相比较,交换
例如序列为1,3,5
Sedgewick提出几种增量序列可以把最坏时间控制在N3/2,平均时间可以控制在N7/6
其中最好的序列是1,5,19,41,109,.. 该序列中的项或者是 9*4i- 9*2i+1 ( 1,19,109,505,...) 或者是4 - 3 * 2i + 1 (-1,-1,5,41,209, 929, ...) (这个增量在实践中最为人称道)
希尔排序的好坏和增量序列(increment sequence)有很大的关系,最坏的情况时间仍然为N2的
希尔排序就是按照序列中的数字由大到小,在要排列的数组按照序列中的数字互相比较,交换
例如序列为1,3,5
开始 | 81 | 94 | 11 | 96 | 12 | 35 | 17 | 95 | 28 | 58 | 41 | 75 | 15 |
5排序后 | 35 | 17 | 11 | 28 | 12 | 41 | 75 | 15 | 96 | 58 | 81 | 94 | 95 |
3排序后 | 28 | 12 | 11 | 35 | 15 | 41 | 58 | 17 | 94 | 75 | 81 | 94 | 95 |
1排序后 | 11 | 12 | 15 | 17 | 28 | 35 | 41 | 58 | 75 | 81 | 94 | 95 | 96 |
其中最好的序列是1,5,19,41,109,.. 该序列中的项或者是 9*4i- 9*2i+1 ( 1,19,109,505,...) 或者是4 - 3 * 2i + 1 (-1,-1,5,41,209, 929, ...) (这个增量在实践中最为人称道)
相关文章推荐
- 第一篇日记-----关于博客
- android初学日记——关于一些使用eclipse下载到手机时出现的错误
- .NET系列 第一篇 关于跨平台的种种言论之我见
- 关于新手Bmob的日记小总结
- 第一篇CSDN的日记
- 关于学习日记~~
- CSDN的第一篇日记
- 关于编写有效测试用例的思考和方法- 第一篇 优秀测试用例标准
- 关于AutoIt的第一篇博文
- 从今天开始,要写我的IT博客了,记录我所学到的知识;第一篇,记录关于OSI模型的描述
- 第一篇 关于竞赛 第3章 2014年全国大学生信息安全竞赛通知
- 关于List<String>的使用日记
- 第一篇关于 java excel 开发
- 2017-04-27 DBA日记,关于存储光纤交换机故障引发的数据库性能问题
- Peersim 学习日记 04 关于节点模型和拓扑模型
- 关于符号Symbol第一篇
- 第一篇日记
- 第一篇生活日记
- LInux 初学者日记【第一篇】
- android 成长日记 3.关于Activity的用户体验提升办法和使用技巧说明