排序算法
文章平均质量分 85
L_Hygen
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++内部排序算法总结(2)
桶排序(计数排序)算法原理桶排序是设置m个桶,每个桶记录从0到N中的单个元素出现的次数,即第i个桶记录数字i出现的次数,然后将桶里的数放到数组中即可。那么如何将桶里的数放到原数组中呢?首先我们知道,1号桶的元素一定都在2号桶前面,假如有10个1和1个2,那么2的下标10 + 2 - 1,因此我们只需要算出每个数对应的前缀和,然后就能求出每个数对应的下标了。注意:因为是按顺序遍历,因此同一个数中越靠后的数会在越上面,例如1,1',s[1] = 1时放入的是1,s[1] = 2时放入的是1',因此在将桶原创 2021-08-22 17:47:05 · 142 阅读 · 0 评论 -
C++内部排序算法总结(1)
第11讲 排序1. 算法的稳定性权值相等的两个数再排序之后如果相对顺序会发生变化,则为不稳定排序,否则为稳定排序。例如:将 2 1’ 1’’ 3进行排序若排序后结果为 1’ 1’’ 2 3,则为稳定排序,若为1’’ 1’ 2 3,则为不稳定排序。2. 插入排序(1) 直接插入排序算法原理遍历一遍数组,第一个元素不动,第二个元素开始,从当前元素往前遍历,如果遍历的元素大于需要插入的元素,则让当前元素往后移一位,直到遇到不大于待插入数的时候,将待插入数插入当前位置。例有n = 5的数组3,1原创 2021-08-21 23:37:46 · 421 阅读 · 0 评论 -
C++数据结构与算法分析——快速排序
快速排序介绍快速排序也叫快排,讲究的是一个快字。它是分治思想的一个应用,即:将一个多数据的数组排序问题转换为一个一个数据的排序,每个数据排序后得到的数组即是排序后的数组。原理假设有一个数组a[n]a[n]a[n],数组中元素为a[0]a[1]......a[n−1]a[0]a[1]......a[n-1]a[0]a[1]......a[n−1]快速排序就是在这个数组中随机找到一个“哨兵”值a[k]a[k]a[k]然后将a[0]∼a[k−1]a[0] \sim a[k-1]a[0]∼a[k−1]存原创 2021-07-16 16:58:25 · 242 阅读 · 0 评论
分享