![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序
文章平均质量分 78
gsub
简简单单,开心就好
展开
-
排序1 快速排序算法
经典快排思路: 1.首先设定一个分界值,通过该分界值将数组分为左右两个部分。 2.左边部分是小于等于分界值的数据,右边部分是大于分界值的数据。 3.左边和右边递归调用方法:设定分界值,划分左边的是小于等于分界值的数据,右边是大于分界值的数据。 举例:4,6,2,0,3 1.选取最右边的3作为分界值,划分后数组的左边部分是【2,0】,数组的右边部分是【4,6】,3是在中间位置。 2.左边...原创 2019-05-08 16:20:13 · 162 阅读 · 0 评论 -
排序2 堆排序算法
1.完全二叉树的概念 除了最后一层之外的其它每一层都被完全填充,并且所有的节点都保证向左对齐。 2.堆的结构 首先,堆结构就是一棵完全二叉树; 堆分为大根堆(任何一棵子树的最大值都在头部);小根堆(任何一棵子树的最小值都在头部); 3.堆排序的思路 3.1 将数组变为堆的结构(大根堆) 3.2 将堆顶数据和最后一个数据交换,输出新的最后一个数据(也就是最大值),调整剩...原创 2019-05-08 18:29:22 · 82 阅读 · 0 评论 -
排序3 桶排序之计数排序
桶排序的思路: 首先找到数组a中的最大值;然后建立一个长度为最大值加1的数组;遍历a数组,如果a[i]的值为b,那么新的数组中下标为b的位置的值加1。 比如:a数组是【1,2,2,4,3,2】,那么新的数组为【0,1,3,1,1】 分析:新数组中o位置为0,说明a数组中没有0;1位置为1,说明a数组中有1个1;2位置为3,说明a数组有3个2;3位置为1,说明a数组中有1个3;4位置为1,说明...原创 2019-05-09 19:23:31 · 173 阅读 · 0 评论 -
排序算法
稳定性是指相等的数仍然能保证原来的相对位置 1. 冒泡排序 算法步骤 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。 针对所有的元素重复以上的步骤,最后一个元素定好了,不用进行比较了。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 ja...原创 2019-06-11 19:41:27 · 104 阅读 · 0 评论