传送门 很早很早以前的题了 今天突然开心 就来补一片题解 主要还是写归并排序的 ...
分类:
其他好文 时间:
2019-03-04 21:00:10
阅读次数:
219
"点此看题面" 大致题意: 给你若干份排序的代码,共$6$个子任务,每个子任务让你构造数据使得一份代码用时在给定的$T$以内,另一份代码用时超过$2000000$。 子任务$1$:归并排序$AC$,计数排序$TLE$ 很简单,要想让计数排序$TLE$,自然是要让值域尽量大。 由于$T=7$,因此$n ...
分类:
其他好文 时间:
2019-03-04 20:39:20
阅读次数:
181
1.归并排序时间复杂度为O(N*logN),额外的空间复杂度O(N)。 2.递归行为:一个数组的排序,先将左侧部分排好序,然后将右侧部分排好序,最后整体利用外排序的方式整体排好。 3.归并排序:将两个(或者两个以上)有序表合并成一个新的有序表,即把待排序的序列分成若干个子序列,在把有序的子序列合并为 ...
分类:
编程语言 时间:
2019-03-03 22:30:12
阅读次数:
158
两个有序链表的排序,实际上可以看成一个单链表使用归并排序的最后一个环节:“将两个排好序的子序列合并为一个子序列:每次都是从未比较的两个子序列的最小值中选出一个更小值”。 ...
分类:
编程语言 时间:
2019-03-03 22:20:44
阅读次数:
241
灯塔(LightHouse) 题目见https://dsa.cs.tsinghua.edu.cn/oj/problem.shtml?id=1144 最近复习DSA,便在看邓老师的mooc,顺便做做配套的题目,挺有意思的。 一、题目分析 简述思路:两次排序,第一次是对结构体的x坐标进行排序,第二次是计 ...
分类:
编程语言 时间:
2019-03-03 21:03:48
阅读次数:
242
一:定义 归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。 二:解 ...
分类:
编程语言 时间:
2019-03-03 14:47:49
阅读次数:
199
传送门:https://www.luogu.org/problemnew/show/P3810 cdq分治的模板题,第一层外部排序,第二层cdq归并排序,这个时候不用考虑第一次的顺序,第三次用树状数组。 注意,不要用memset,用队列保存加上的值,最后在把加上的值减去就行了。 #include ...
分类:
其他好文 时间:
2019-03-02 00:52:30
阅读次数:
156
参考https://www.cnblogs.com/onepixel/p/7674659.html 1.冒泡排序 2.选择排序 5、归并排序 ...
分类:
编程语言 时间:
2019-03-01 19:58:08
阅读次数:
190
前言 查找和排序算法是算法的入门知识,其经典思想可以用于很多算法当中。因为其实现代码较短,应用较常见。所以在面试中经常会问到排序算法及其相关的问题。但万变不离其宗,只要熟悉了思想,灵活运用也不是难事。一般在面试中最常考的是快速排序和归并排序,并且经常有面试官要求现场写出这两种排序的代码。对这两种排序 ...
分类:
编程语言 时间:
2019-02-28 22:56:10
阅读次数:
189
归并排序 (英语:Merge sort,或mergesort),是创建在归并操作上的一种有效的 "排序算法" , "效率" 为 ( "大O符号" )。1945年由 "约翰·冯·诺伊曼" 首次提出。该算法是采用 "分治法" (Divide and Conquer)的一个非常典型的应用,且各层分治递归可 ...
分类:
编程语言 时间:
2019-02-27 17:45:42
阅读次数:
187