一、冒泡排序(Bubble Sort) 二、选择排序(Selection Sort) 三、插入排序(Insertion Sort) 九、桶排序(Bucket Sort) ...
分类:
编程语言 时间:
2020-01-26 22:13:19
阅读次数:
121
虽然桶排序很方便,但是它非常浪费空间!!!在多大范围就要开多大的空间,seriously?! 所以,推出了一种新的算法:冒泡排序! 其思想就是比较相邻的两个元素,如果与题目不符就交换 如上图就是利用冒泡每次都与相邻的比较,最后在最后一位的就是最大的数,依次排列完成想法! 比较相邻的元素,如果前一个比 ...
分类:
编程语言 时间:
2020-01-24 17:31:35
阅读次数:
96
今天又是无趣的寒假之中的一天,但是,我准备好好开始学习算法了,我是想每天至少学习一种算法,也不知道能不能坚持下来,反正先试试,万一呢?! 世界上有好多东西都是需要排序的 栗子one:给你一串在十以内的数字进行降序排列 最好就是在输入时就进行归类,可以设一个a[11]的数组,放进去,最后再通过循环输出 ...
分类:
编程语言 时间:
2020-01-24 16:01:45
阅读次数:
128
大三找实习花了大概半个月的时间,最后选择了商汤,因为面试体验最好,从第一轮面试到拿到口头 offer 只用了两天,第二轮结束两个小时就发了,正式 offer 也仅用了两天,感觉效率很高,而且也算是一个不错的成长平台。 我面试的是 Java 后台开发,一共两轮技术面,整体难度适中,面试官很和蔼,而且在 ...
分类:
编程语言 时间:
2020-01-24 00:15:02
阅读次数:
111
根据字符出现频率排序。题意是给一个字符串,请按照出现字符的频率高低重新排列这个字符并输出。例子, Example 1: Input: "tree" Output: "eert" Explanation: 'e' appears twice while 'r' and 't' both appear ...
分类:
其他好文 时间:
2020-01-23 13:58:02
阅读次数:
71
将字符串每个后缀按照字典序排序 $sa:$表示排名为$i$的后缀的起始位置 $rk:$表示起始位置为$i$的后缀的排名 $sa[rk[i]]=i,\ rk[sa[i]]=i$ 通过倍增和基数排序来实现$O(n\ log\ n)$的排序 基数排序时先排第一关键字,再在第一关键字相同下排第二关键字 第二 ...
分类:
编程语言 时间:
2020-01-22 22:00:40
阅读次数:
64
排序算法(一) [toc] 计数排序 计数排序应该是 最简单 的排序算法了吧。 基本思想 计数排序运用了 桶排序 的思想,于是我们就现来讲讲桶排序: (第一次画图,经验不足,请谅解) 桶排序的思想用语言来表述就是: 将数按值的大小放进几个表示数的范围的桶中,在每个桶中风别再做排序,最后从前向后合并。 ...
分类:
编程语言 时间:
2020-01-22 14:46:16
阅读次数:
100
排序算法说明 0.1 排序的定义 对一序列对象根据某个关键字进行排序。 0.2 术语说明 稳定 :如果a原本在b前面,而a=b,排序之后a仍然在b的前面; 不稳定 :如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面; 内排序 :所有排序操作都在内存中完成; 外排序 :由于数据太大,因此 ...
分类:
编程语言 时间:
2020-01-22 13:11:28
阅读次数:
89
目录 要点完整参考代码算法分析 基数排序的性能 时间复杂度 空间复杂度 算法稳定性相关阅读 要点 基数排序与本系列前面讲解的七种排序方法都不同,它不需要比较关键字的大小。 它是根据关键字中各位的值,通过对排序的N个元素进行若干趟“分配”与“收集”来实现排序的。 不妨通过一个具体的实例来展示一下,基数 ...
分类:
编程语言 时间:
2020-01-16 10:55:24
阅读次数:
66
一说到排序算法,大部分人都会说出著名的万金油-快速排序、大数据分而治之-归并排序、大数据排名-堆排序。这些排序无论在面试还是实际项目中,都是经常用到的一些排序算法,其平均时间复杂度都在 O(N ? log2N),那今天我们就来介绍几种 O(N)的排序算法。 1,计数排序,输入 n 个范围在 0-k ...
分类:
编程语言 时间:
2020-01-15 19:31:52
阅读次数:
90