- 博客(5)
- 收藏
- 关注
原创 常用排序算法-希尔排序
1. 希尔排序简介 希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序可以看作是对直接插入排序的一次升级,通过局部有序化,使得排序效率更高。下图引自百度百科: 可以看出希尔排序的原理过程非常简单,通过选择一个增量gap,暂定为N/2,N为待排序数字个数,在本例中gap=5,那么对分出
2017-05-26 08:02:08 397
原创 常用排序算法-归并排序
归并排序是分治法运用的一个有效算法,大致分为两个部分,第一个是将一个无序表不断的二分,对得到的子部分继续二分,直到细分至每一个子部分都只有一个元素;第二个部分便是由最小的子部分开始,逐步向上进行归并,具体来说就是实现两个有序数组的合并。
2017-05-07 23:00:28 364
原创 常用排序算法-直接插入排序
1. 直接插入排序简介 直接插入排序用通俗的话讲,非常像打扑克时摸牌与插牌的情形,如图1,如果此时摸到了一张7,自然会由后向前比较,比5大,继续比较,没有8大,就插在这里,直接插入排序的过程就是摸牌与插牌的过程,思想很简单,所以实现也很简单。 2 直接插入排序基本流程 1. 第一个数字自然有序; 2. 从第二个数字开始,从后向前以此比较。会遇到三种情况 ①
2017-05-07 16:00:00 296
原创 常用排序算法-冒泡排序
1. 冒泡排序简介 冒泡排序,顾名思义,就像水中的气泡一样接二连三的浮出水面,也很像排名赛一样,通过不断地和上层选手进行对战,胜者上,败者下。具体而言,可从最后一名“选手”开始进行爬天梯,不断地与前一名“选手”比赛,获胜则交换位置,同时获胜者继续前进,失败者停留原地。 2. 冒泡排序基本流程 1. 选择第N个数作为基准数,不断地与前N-1个数进行比较。如果基准数比较小,则继续向前比较;如果
2017-05-06 13:08:55 311
原创 常用排序算法-快速排序
常用排序算法-快速排序 1 快速排序简介 快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 用通俗的语言来讲解的话,所谓快速排序的原理,就是“选择一个数字,所有比它小的,
2017-05-05 21:21:30 358
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人