list就是链表的实现,链表是什么,我就不再解释了。list的好处就是每次插入或删除一个元素,都是常数的时空复杂度。但遍历或访问就需要O(n)的时间。 List本身其实不难理解,难点在于某些功能函数的实现上,例如我们会在最后讨论的迁移函数splice()、反转函数reverse()、排序函数sort ...
分类:
其他好文 时间:
2019-10-26 17:35:16
阅读次数:
103
描述算法复杂度时,常用o(1), o(n), o(logn), o(nlogn)表示对应算法的时间复杂度,是算法的时空复杂度的表示。不仅仅用于表示时间复杂度,也用于表示空间复杂度。 O后面的括号中有一个函数,指明某个算法的耗时/耗空间与数据增长量之间的关系。其中的n代表输入数据的量。 比如时间复杂度 ...
分类:
编程语言 时间:
2019-10-24 21:32:36
阅读次数:
95
在背包问题中,体积w与价值v是可以互逆的! 可以将$f[i]$表示为体积为$i$能装的最大价值, 也可以将$f[i]$表示为价值为$i$所需的最小体积。 两者等价,我们只需要选择范围较小的那维作为体积就可以了! 这直接影响到时空复杂度。 这题就是个案例。 算法1 (体力、精灵球数为费用、精灵数为价值 ...
问题 A: 世界线 时间限制: 1 Sec 内存限制: 256 MB 题面 题面谢绝公开。 题解 我刚学完bitset就考了???然而我赛时并没有想到是bitset…… 话说我bitset还是没有颓完啊赶紧去补一波时空复杂度…… bitset优化暴力(据某诺神说这是bitset果题??) 注意dfs ...
分类:
其他好文 时间:
2019-09-13 10:30:27
阅读次数:
97
Algorithm Task 给定一个文本串 $S$ 和一个模式串 $T$,求 $T$ 在 $S$ 中出现的所有位置。 Limitations 要求时空复杂度均为线性。 Solution 回头重新学一遍~~看毛片~~ KMP 算法。 设 $X$ 是一个字符串,则以下表述中,$X_u$ 代表 $X$ ...
分类:
其他好文 时间:
2019-09-04 09:21:49
阅读次数:
72
双向bfs,至于为什么不会爆还是因为生日悖论,然后双向bfs降低了时空复杂度,ssqrt(n), 然后就是问题的关键 双向bfs: 1.轮流拓展: 会导致一个方向出现了可行解,另一个方向还没出现,无法构成最优, 2.按层拓展:不会出现,ac 3.按size拓展:同1,也会出现该种情况 按size拓展 ...
分类:
其他好文 时间:
2019-07-30 00:29:25
阅读次数:
81
https://leetcode-cn.com/problems/add-two-numbers/submissions/ 我的方法: 按部就班的考虑与处理.注意不要有考察漏掉的情况 时间复杂度O(n),空间复杂度O(n) //我所有的时空复杂度都是指级别,有必要具体分析的会特别注明 结果: 官方题 ...
分类:
其他好文 时间:
2019-07-20 21:31:20
阅读次数:
110
1. 时空复杂度分析: O(1)、O(n)、O(n^2)、O(log n)、O(n log n)是什么意思 传输门-比较易懂 2. 待更新。。。 ...
分类:
编程语言 时间:
2019-05-27 12:01:22
阅读次数:
103
"传送门" 解题思路 主席树模板题,主席树就是一个支持查询历史版本的数据结构,就是在原树的基础上只修改那些受影响的部分以保证时空复杂度。做法就是首先离散化,然后给每个值建一棵线段树,每次建在上一个的基础上,然后查询的时候就变成前缀和相减的形式。时间复杂度$O(nlogn)$。 代码 cpp incl ...
分类:
其他好文 时间:
2018-11-15 01:34:33
阅读次数:
181
给出的一些常见的数据结构与算法的笔试面试题,特整理如下,后期遇到新的再更新。 笔试面试题 常见时空复杂度有 常数级复杂度:O(1) 对数级复杂度:O(logN) 线性级复杂度:O(N) 线性对数级复杂度:O(NlogN) 平方级复杂度:O(N2) 冒泡排序算法(重点) (1)算法流程 a.比较两个相 ...
分类:
编程语言 时间:
2018-09-19 01:24:08
阅读次数:
197