摘要: 希尔排序 在直接插入排序算法中,每次插入一个数,使有序序列只增加1个节点,并且对插入下一个数没有提供任何帮助。如果比较相隔较远距离(称为增量)的数,使得数移动时能跨过多个元素,则进行一次比较就可能消除多个元素交换。D.L.shell于1959年在以他名字命名的排序算法中实现了这一思想。算法先将要排序 阅读全文
posted @ 2017-10-16 17:33 汕大小吴 阅读(362) 评论(0) 推荐(0) 编辑
摘要: 快速排序 快速排序是对冒泡排序的改进。 快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序,它采用一种分治(Divide-and-ConquerMethod)的方法 快速排序的思想: 在数组中找到一个基准数(pivot) 分区,将数组中比基准数大的放到它的右边,比基准数小的放到它的左 阅读全文
posted @ 2017-10-16 14:37 汕大小吴 阅读(522) 评论(0) 推荐(0) 编辑
摘要: 插入排序包括:直接插入排序,二分插入排序(折半插入排序),链表插入排序,希尔排序。 今天介绍的是直接插入排序。 直接插入排序 在要排序的一组数中,假设前面(n-1) [n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。 阅读全文
posted @ 2017-10-16 12:01 汕大小吴 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 这篇主要介绍下选择排序算法的实现 选择排序 算法思想简单:在要排序的一组数中,选出最小的一个数与第一个位置的数交换;然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。 最差、最优、平均时间复杂度都为O(n^2)。辅助空间为O(1)。稳定性:不稳定。 算法实 阅读全文
posted @ 2017-10-16 10:58 汕大小吴 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 以前数据结构和算法课程上学的算法都忘记的差不多了,所以还是要整理下知识点复习一下,好记性不如烂笔头。 今天先从冒泡排序开始。 分类和性能 1、稳定排序和非稳定排序 简单地说就是所有相等的数经过某种排序方法后,仍能保持它们在排序之前的相对次序,我们就说这种排序方法是稳定的。反之,就是非稳定的。 比如: 阅读全文
posted @ 2017-10-16 09:49 汕大小吴 阅读(404) 评论(0) 推荐(0) 编辑