随笔分类 -  排序

基本的算法,从最基本的冒泡,插入,到归并,快速
摘要:说一说快速排序 快速排序,实际中最常用的一种排序算法,速度快,效率高,在N*logN的同等级算法中效率名列前茅。· 基本思想:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分所有数据要小,然后再按此方法对这两部分数据分别进行快速排序。整个排序过程可以递归进行,以此达到 阅读全文
posted @ 2017-05-30 16:18 傻蜗牛 阅读(1047) 评论(0) 推荐(0)
摘要:说一说归并排序 归并排序:归并排序(英语:Merge sort,或mergesort),是创建在归并操作上的一种有效的排序算法,效率为O(n log n)。1945年由约翰·冯·诺伊曼首次提出。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用,且各层分治递归可以同时进行 阅读全文
posted @ 2017-05-29 16:16 傻蜗牛 阅读(44093) 评论(5) 推荐(5)
摘要:说一说插入排序 插入排序的基本操作就是将一个数据插入到已经排序好序的数据中,从而得到一个新的,个数加一的有序数据,算法适用与少量的数据的排序。时间复杂度O(n^2),是稳定的排序算法。 基本思想:每步将一个待排序的记录,按其关键码值的大小插入前面已经排序的文件的适当位置上去,直到全部插入完为止。 原 阅读全文
posted @ 2017-05-29 13:27 傻蜗牛 阅读(1455) 评论(0) 推荐(0)
摘要:说一说选择排序 选择排序,作为八大经典算法之一,虽不如插入,快速,希尔等排序高效,但其结构简单,思路清晰,适合新手理解算法, 了解排序,适合数据较少时的排序情况。 如下是选择排序的图解原理 如果说冒泡排序是顶向下,那么选择排序就是由底向上了,先解决第一个数,再解决第二个数,依次解决整个数组的排序 如 阅读全文
posted @ 2017-05-29 11:42 傻蜗牛 阅读(477) 评论(0) 推荐(0)
摘要:说一说冒泡排序 冒泡排序,作为最基本的排序算法,由于原理像冒泡一样,所以取名为冒泡排序; 我们知道,水泡在上升时,总是密度最小的最先上去,假如一个水层只能容纳一个水泡,那么水泡由上到下的排序就是密度逐渐增大的排序。类似的,我们可以实现一个相似的排序算法,冒泡排序。原理图(在网上找的) 具体代码: 阅读全文
posted @ 2017-05-29 11:23 傻蜗牛 阅读(470) 评论(0) 推荐(0)