归并排序 排序动图演示 整体效果: 排序细节: 排序原理: 归并排序就是递归得将原始数组递归对半分隔,直到不能再分(只剩下一个元素)后,开始从最小的数组向上归并排序 1. 向上归并排序的时候,需要一个暂存数组用来排序, 2. 将待合并的两个数组,从第一位开始比较,小的放到暂存数组,指针向后移, 3. ...
分类:
编程语言 时间:
2019-09-27 22:38:01
阅读次数:
99
今天继续昨天的三组分别写了三道题,排序,字符串,还有一个是贪心。 排序用的是桶排序的思想。 就是定义一个数组,以数组下标作为排序的数字,数组内容为1就代表存在这个数,为0代表不存在。 而字符串,贪心并没有什么很难的,重要的是自己用了一些c++的库,感觉c++比c要方便一些。 明天再做一次这三组就可以 ...
分类:
其他好文 时间:
2019-09-03 22:16:34
阅读次数:
84
CF558E A Simple Task WOC怎么又一个simple task? 操作就是区间排序+最终询问 第一反应是Splay(不对呀,我明明不会Splay的......😀) 后来看了看,感觉Splay不可做(我连Splay都不会,怎么就觉得不能做了) 感觉线段树比较靠谱 观察题目发现小写字 ...
分类:
其他好文 时间:
2019-08-29 11:22:57
阅读次数:
91
题目描述 乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,直到每段的长都不超过 50 。现在,他想把小木棍拼接成原来的样子,但是却忘记了自己开始时有多少根木棍和它们的长度。给出每段小木棍的长度,编程帮他找出原始木棍的最小可能长度。 输入格式 第一行为一个单独的整数 N 表示砍过以后的小木棍的总数 ...
分类:
其他好文 时间:
2019-08-23 19:31:28
阅读次数:
276
比较排序: 冒泡:两两交换 选择:选择末序列最大(最小)值,同对应位置交换 插入:从后往前扫描有序序列 希尔排序:又叫做缩小增量排序,希尔增量:n/2 n/4 ... 1,O(n^2),Hibbard增量:1,3,7,2hk-1,O(n^1.5);下界为O(nlog(2n)) 非比较排序: 桶排序: ...
分类:
编程语言 时间:
2019-08-20 12:52:14
阅读次数:
88
排序算法中最快、最简单的排序算法,及其耗费内存。 原理 把同类元素放在相同的桶里,每个桶子再个别排序(有可能再使用别的排序算法或是以递回方式继续使用桶排序进行排序),桶本身是有序的! 1、确定桶的数量; 2、遍历列表,把元素放到对应的桶里; 3、重复2; 4、把排序好的元素放回原列表,知道排序完成; ...
分类:
编程语言 时间:
2019-08-09 23:50:01
阅读次数:
97
T1[A. string]「桶排序」「线段树」 线段树维护区间的每个字母出现了多少次, 在排序的时候,先查询一个区间的每个字母的出现次数,然后挨个区间赋值 复杂度 $O(mlog(n)*26)$ 优化常数(26):定义f(懒标记):f!=0时,代表子树都被赋值为了同一个值;f==0,表示不相等。 将 ...
分类:
其他好文 时间:
2019-08-02 22:32:43
阅读次数:
161
1 排序 桶排序 时间复杂度 O(N+M), N为待排序数的个数,M为桶的个数(即数的范围) 空间复杂度 O(M),M为桶的个数(即数的范围) 优点 · 快速 缺点: · 空间消耗大 · 被排序的数组元素只能是整数 · 这还不是一个真正意义上的桶排序,因为只能对数进行排序,而不涉及数对应的项 代码 ...
分类:
编程语言 时间:
2019-07-26 09:19:48
阅读次数:
100
我们在面对算法学习的时候,看到那些一串串的数字、一串串代码的时候感觉非常的头疼。 最快最简单的排序——桶排序 在我们生活的这个世界,不难发现,一切都是被排序过的。站队的时候会按照身高排序,考试的名次需要按照分数排序,网上购物的时候会按照价格排序,电子邮箱中的邮件按照时间排序……总之很多东东都需要排序 ...
分类:
编程语言 时间:
2019-07-25 17:34:16
阅读次数:
89
题目链接:https://cn.vjudge.net/problem/HDU-1425 注意是多组输入 代码: ...
分类:
编程语言 时间:
2019-07-20 21:08:08
阅读次数:
104