![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序算法
阿童木-atom
行到水穷处,坐看云起时!
鄙人学富五车、才高八斗。技术能力称雄天下,敢领风骚数五百年。java、scala、python、C/C++、php登峰造极,精通Spring、mybatis、hibernate、struts2各种框架及具备各种大型系统架构能力,深耕搜索、推荐、数据挖掘、机器学习、深度学习、人工智能等领域,通读lucene、solr、elaticsearch、sphinx、mahout、tensorfolw等开源项目源码,精通hadoop、hbase、hive、spark、kafka、rabbit、activeMQ等大数据处理工具的应用。
展开
-
冒泡排序算法详解及优化
排序原理:比较两个相邻的元素,将值大的元素交换至右端,小的元素向上冒泡,这也是冒泡算法名称的由来。 排序流程如下: 1)对数组中的各数据,依次比较相邻的两个元素大小,即第0和第1个比较,第1个和第2个比较...第n-2个和和第n-1个比较,每次比较中如 果前面的大于后面的就交换,这样第一轮即n次比较后,最大的元素排在的最后。 2)再用同样的方法把第0到n-2的元素重复上述过原创 2017-09-29 10:49:12 · 15600 阅读 · 0 评论 -
选择排序算法
选择排序和冒泡排序一样都是通过选择和交换元素实现的。原理如下 1)首先从原始n数据中选择最小的1个数据,将其第0个元素交换,选出最小的数据就是假设第0个元素是最小的,然后依次和剩余的元素比较,就可以找出最小的! 2)接着从剩下的n-1个元素中选出最小的和第1个元(java下标从0开始)交换 3)重复上述步骤! 为了更好的理解下面通过一个实际例子来一步步的执行排序算法 举例说明:要原创 2017-09-29 11:32:16 · 287 阅读 · 0 评论 -
插入排序算法
插入排序算法通过比较和插入来实现排序,具体如下: 1)假设第0个元素是排序好的,第1个元素与之经较,如果小于第0个,最把第0个元素后移一个,把第1个元素插入到第0个位置 2)接着,第2个元素,与前两个元素比较,把第3个插入到合适的位置 3)重复上述过程,直接最后一个元素插入到合适的位置,结束! 为了更好的理解下面通过一个实际例子来一步步的执行排序算法 举例说明:要原创 2017-09-29 13:09:33 · 245 阅读 · 0 评论 -
堆排序算法java实现
概述 堆本质是完全二叉树的,只是在对二完全二叉树做了以下几个方面的限定: 1、大根堆:根结点大于等于其子结点的数据,左右子树大小没有限定,这样以来最大数据就是root结点 2、小根堆:根结点小于等于其子结点的数据,左右子树大小没有限定,这样以来最小的结点是root结点 3、堆排序的过程就是,取出根结点,重新构造堆(因为堆结构已破坏),取出根结点。。。。 4、对于任结点i 其中i[0,n-原创 2017-10-10 15:51:10 · 360 阅读 · 0 评论