Sedgewick增长序列: 可以用下列python代码来打印出来: 1 5 19 41 109 209 505 929 2161 3905 8929 16001 36289 64769 146305 260609 587521 1045505 2354689 4188161 ...
分类:
编程语言 时间:
2016-12-05 07:45:50
阅读次数:
339
希尔排序 希尔排序也是插入排序的一种。又名缩小增量排序。它是对直接插入排序的一种改进。 直接插入排序是每次都和前面一个元素进行比较。其步长为 1。 希尔排序则不然,它得步长是动态变化的,或者说是由大到小变化的。希尔排序根据步长将整个序列分成n组。然后在各个子组内部分别进行元素的排序。接着缩小步长,相 ...
分类:
编程语言 时间:
2016-12-01 11:52:03
阅读次数:
217
各种排序的实现思路- 冒泡排序(Bubble Sort) - 是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到 ...
分类:
编程语言 时间:
2016-11-30 20:06:03
阅读次数:
153
希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序,同时该算法是冲破O(n2)的第一批算法之一。本文会以图解的方式详细介绍希尔排序的基本思想及其代码实现。 基本思想 希尔排序是把记录按 ...
分类:
编程语言 时间:
2016-11-27 20:01:13
阅读次数:
207
2.5.1 将各种数据排序 · 交易事务 · 指针排序 · 不可变的键 · 廉价的交换 · 多种排序方法 · 多键数组 · 使用比较器实现优先队列 · 稳定性:能够保留数组中重复元素的相对位置 稳定:插入排序、归并排序 不稳定:选择排序、希尔排序、快速排序、堆排序 2.5.2 我应该使用哪种排序算法 ...
分类:
编程语言 时间:
2016-11-27 07:48:17
阅读次数:
198
冒泡:http://player.youku.com/player.php/sid/XMjU4MTg3MTU2/v.swf希尔排序:http://player.youku.com/player.php/sid/XMjU4NTcwMDIw/v.swf选择排序:http://player.youku.c ...
分类:
编程语言 时间:
2016-11-25 12:03:13
阅读次数:
255
好想写出最后一题,可惜才疏学浅,一直搞不懂希尔排序法,暂时没有思路,如果想出来的话会补交到评论里的 ...
分类:
其他好文 时间:
2016-11-25 01:04:06
阅读次数:
223
1.果然第七次作业好难啊,做完之后增加了好多知识,现在用到一点都不费力啊,很方便就写出来了 2.冒泡排序法,从最后一个开始与前一个依次对比 3. 4.插入排序法。。。老师课上没讲欸,百度之后知道是将一个数目插入该占据的位置,但是代码也就是从第二个开始与左边的对比然后交换,然后敲出来的代码也就和冒泡排 ...
分类:
其他好文 时间:
2016-11-24 09:05:13
阅读次数:
175
从读博士起,我对编程的兴趣忽然浓厚起来。当时做大规模并行运算,需要自己写很多程序和脚本。作为新进研究组的新人,我自觉负担起很多写程序的活儿。写得多了,兴趣也变得浓厚。 那个时候抓紧一切机会学习编程。在我读博的研究所里,有一位英国教授也喜欢编程。她叫爱玛·希尔(Emma Hill),教我们用编程语言处 ...
分类:
其他好文 时间:
2016-11-23 20:03:29
阅读次数:
136