计数排序引入 不难发现不论是冒泡排序还是插入排序,其排序方法都是通过对每一个数进行两两比较进行排序的,这种方法称为比较排序,实际上对每个数的两两比较严重影响了其效率,理论上比较排序时间复杂度的最低下限为nlog(n),即任何比较排序的时间复杂度将不会低于nlog(n),那么有没有方法能不经过数列比较 ...
分类:
编程语言 时间:
2018-12-30 16:25:42
阅读次数:
241
刷知乎的时候看到的题目,思路是评论区大佬给的 有点像排序里的计数排序法 代码如下 ...
分类:
其他好文 时间:
2018-12-29 19:43:37
阅读次数:
166
常用排序算法 目录 一、冒泡排序 二、选择排序 三、插入排序 四、快速排序 五、堆排序 六、归并排序 七、基数排序 八、希尔排序 九、桶排序 十、总结 一、冒泡排序 1、思路:首先,列表每两个相邻的数比较大小,如果前边的比后边的大,那么这两个数就互换位置。就像是冒泡一样 2、代码关键点: 趟数:n- ...
分类:
编程语言 时间:
2018-12-27 03:17:25
阅读次数:
241
排序的目的是什么?便于查找! 如何衡量排序算法的好坏? 时间效率排序速度(比较次数与移动次数) 空间效率占内存辅助空间的大小 稳定性A和B的关键字相等,排序后A、B的先后次序保持不变,则称这种排序算法是稳定的。 按待排序记录所在位置,分为两类内部排序待排序记录存放在内存,排序过程不需访问外存便能完成 ...
分类:
编程语言 时间:
2018-12-22 17:25:48
阅读次数:
258
计数排序 计数排序的实现主要是数据样本的特殊性(正整数,明确最大边界)和利用列表索引位置来记录值,索引值来统计个数 最后循环索引,根据值(个数)确定添加多少个 桶排序 桶排序实现思路和计数排序实现思路大体相同,计数排序是通过列表索引来把相同的数弄到一组,而桶排序则是确定一个范围来确定分组 代码实现思 ...
分类:
编程语言 时间:
2018-12-19 00:29:11
阅读次数:
216
解法一:计数排序:统计0,1,2 的个数 时间复杂度:O(n) 空间复杂度:O(k) k为元素的取值范围, 此题为O(1) 解法二:三路快排 时间复杂度:O(n) 空间复杂度:O(1) 只遍历了一遍 ...
分类:
编程语言 时间:
2018-12-15 22:30:31
阅读次数:
248
中暑排序 我就放个板子然后随便提点啥了 大体思路:倍增+计数排序 然后注意一个非常强的剪枝,当排名的数量等于$n$时,直接拿掉,而不是非要跑$\log n$次排序。这个剪枝在字符集比较小的时候几乎没用,但字符集小跑的本身就比较快,在字符集大的时候非常强,基本只会排序3~4次。 cpp include ...
分类:
编程语言 时间:
2018-12-15 13:41:39
阅读次数:
119
由于作者不习惯该编辑器,只是贴出上本文的截图,详见:https://www.yuque.com/docs/share/66cd6a53-db0f-423b-a472-9dcc56199c0d
分类:
编程语言 时间:
2018-12-03 20:11:50
阅读次数:
120
给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 注意: 不能使用代码库中的排序函数来解决这道题。 示例: 进阶: 一个直观的解决方案是使用计数排序的 ...
分类:
其他好文 时间:
2018-12-02 01:19:25
阅读次数:
199
拓扑排序 英文名称:Topological-sort 别称:toposort or topsort 以下进入胡扯时间 正题: 排序??? a:我有sort! b:我还会桶排! c:我我我!我还会基数排序和计数排序 哇塞!厉害! 但是你会这些东西和我拓扑排序有什么关系 a??b??c??? 拓扑排序是 ...
分类:
编程语言 时间:
2018-11-30 22:33:00
阅读次数:
258