我个人觉得快速排序和归并排序有相似之处,都是用到了分治的思想,将大问题拆分成若干个小问题。 不同的地方是归并排序是先把大问题拆分好了之后再排序,而快速排序则是一边拆分,一边排序。 快速排序的原理就是,针对一个数组,我们任意选取数组中的一个数,将数组中的数与它一一比较,如果小于它呢,就放左边, 大于它 ...
分类:
编程语言 时间:
2019-01-30 00:21:47
阅读次数:
188
子串计数(genies) Description 给出一段含有n个元素的序列a,要求求出子串和小于等于t的子串个数 Input Data 输入共两行第一行包含两个整数,n,t分别表示序列a元素的个数和限制t第二行包含n个数表示元素a_i Output Data 共一行,含一个数表示子串和小于等于t的 ...
分类:
其他好文 时间:
2019-01-29 22:04:17
阅读次数:
200
一个排序算法可视化的软件,很魔性。 链接:https://pan.baidu.com/s/1hCoMku7UL7IN4hIdYTsuJg 提取码:4y4v 1.冒泡排序 void bubbleSort(int *a, int n) { for (int i = 0; i < n; i++) { fo ...
分类:
编程语言 时间:
2019-01-29 14:52:54
阅读次数:
163
介绍 常见的算法排序 low B三件套 N B三件套 ...
分类:
编程语言 时间:
2019-01-28 10:54:06
阅读次数:
171
算法名称 归类 英文名 时间复杂度 优点 缺点 和别的算法的比较 我常用的 直接插入排序 插入排序的一种 StraightInsectionSort 稳定 A 希尔排序 插入排序的一种 ShellSort 平均效率是O(nlogn) 适合于数据量在5000以下 不稳定 (即相等的数,在排序后相对位置 ...
分类:
编程语言 时间:
2019-01-28 10:52:37
阅读次数:
208
时间复杂度、空间复杂度、稳定性比较 | 排序方法 | 平均情况 | 最好情况 | 最坏情况 | 辅助空间 | 稳定性 | | | | | | | | | 插入排序 | O(n^2) | O(n) | O(n^2) | O(1) | 稳定 | | 希尔排序 | O(n log(n))~O(n^2) | ...
分类:
编程语言 时间:
2019-01-25 13:02:40
阅读次数:
224
合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例: 输入: [ 1->4->5, 1->3->4, 2->6 ] 输出: 1->1->2->3->4->4->5->6解法:采用两两个合并的的方法1.设置一个两个列表合并的函数2.再用二路归并进行函数调用 /** * Def ...
分类:
编程语言 时间:
2019-01-23 15:45:07
阅读次数:
249
今天在leetcode上刷到一题链表排序的题,遇到排序题不能总用快排吧,换个口味,归并排序。如果数组项只有一项或者两项,排序是最简单的,只需比较大小交换一下位置即可。归并排序就是基于这个准则,不断的对数组进行二分,讲一个拥有n项的数组打散成n多个只有一项或者两项的数组,然后将这n多项的数组进行合并, ...
分类:
编程语言 时间:
2019-01-23 00:22:20
阅读次数:
174
定义:对于给定的一段正整数序列,逆序对就是序列中ai>aj且i<j的有序对。 解决:利用归并排序 时间复杂度O(nlogn) ...
分类:
其他好文 时间:
2019-01-21 20:06:23
阅读次数:
175
曾经有个朋友问我:二叉树可以用来干啥况? 我回答他:可以搜索、可以排序呀? 可是,排序有快速排序,归并排序,查找有二分法,甚至直接遍历查找,我干啥要使用二叉树呢? …… 这位朋友说的是有道理的,二叉树确实在实际中用的比较少,因为有更高级的树,但是二叉树作为一种最基本最典型的排序树,是研究其他树的基础 ...
分类:
其他好文 时间:
2019-01-21 11:15:36
阅读次数:
132