一、问题描述 内部排序是一件具有重大意义的问题,许多项目的实现中都需要用到排序。 我们知道,排序的算法有许多种,每种排序算法的时间复杂度和空间复杂度不尽相同。在解决实际问题时,往往需要根据实际需要选择排序算法。 上次实验已经讨论了希尔排序的实现及其原理,本实验重点介绍另一种排序算法——快速排序。实验
分类:
编程语言 时间:
2016-02-09 08:04:09
阅读次数:
256
希尔排序的实质就是分组插入排序,该方法又称为缩小增量排序。基本思想为:先将整个带排元素序列分割成若干个子序列(由相隔某个增量的元素组成),分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。因为直接插入排序在元素基本有序的情况下(接近最好情况),效率是很高的。因此希尔排序在时间效率上比前两种方法有较大提高。示例代码上传至:...
分类:
编程语言 时间:
2016-02-05 19:28:26
阅读次数:
231
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.o
分类:
编程语言 时间:
2016-02-03 12:40:26
阅读次数:
123
本文转载自html5rocks,考虑到有时候html5rocks不方便访问,所以转载过来。 序言 这是一篇全面介绍 Webkit 和 Gecko 内部操作的入门文章,是以色列开发人员塔利·加希尔大量研究的成果。在过去的几年中,她查阅了所有公开发布的关于浏览器内部机制的数据(请参见资源),并花了很多时
分类:
其他好文 时间:
2016-01-29 16:07:10
阅读次数:
1091
本文由网络资料整理而来,如有问题,欢迎指正! 分类: 1)插入排序(直接插入排序、希尔排序)2)交换排序(冒泡排序、快速排序)3)选择排序(直接选择排序、堆排序)4)归并排序5)分配排序(基数排序)所需辅助空间最多:归并排序所需辅助空间最少:堆排序平均速度最快:快速排序 不稳定:快速排序,希尔排序,
分类:
编程语言 时间:
2016-01-28 15:23:48
阅读次数:
257
点击这里进入杭电上的测试题 点击这里进入厦大的测试题杭电的题我用 希尔排序 +Hibbard增量序列 过不去.代码如下(因为是测试的 所以有点乱) 1 #include //这个直接就跪了 超时/ 2 #include 3 using...
分类:
编程语言 时间:
2016-01-26 11:58:41
阅读次数:
191
希尔排序(by Donald Shell):假定给了一个需要排序的数组并且 按照5-间隔的方式进行排序 附图如下我们 慢慢的按照 越来越小的间隔开始去排序 (最后只能是间隔为1).堆排序:先回顾一下插入排序void Selection_Sort ( ElementType A[], int N...
分类:
编程语言 时间:
2016-01-25 21:26:14
阅读次数:
227
冒泡排序(Bubble Sort,台湾译为:泡沫排序或气泡排序)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数...
分类:
编程语言 时间:
2016-01-24 00:21:45
阅读次数:
271
有段时间没继续更新我的“图像处理中的数学原理详解”专栏了。因为前面基础的部分已经发布的差不多了,现在已经进入 “深水区”。一方面现在文章的长度都有所增加,所以我写起来就更加麻烦了。另一方面,现在的话题进入了微分方程和泛函分析领域。本文将介绍泛函中的希尔伯特空间,一大拨更多**空间正在来袭:)顿时有没有一种万分酸爽赶角?...
分类:
其他好文 时间:
2016-01-16 16:58:32
阅读次数:
252
虽然现在各种程序语言都有其各自强大的排序库函数,但是这些底层实现也都是利用这些基础或高级的排序算法。 理解这些复杂的排序算法还是很有意思的,体会这些排序算法的精妙~ 一、希尔排序(shell sort):希尔排序是基于插入排序的,区别在于插入排序是相邻的一个个比较(类似于希尔中h=1的情形)...
分类:
编程语言 时间:
2016-01-15 20:06:15
阅读次数:
158