
复习版数据结构与算法
文章平均质量分 77
吕飞雨
这个世界总有一个人让你心动不已
展开
-
最近公共祖先(朴素法、倍增法、(递归法))
又是一个复习的算法题目,下面直接看题吧。原创 2022-11-19 01:14:17 · 852 阅读 · 0 评论 -
链式前向星
链式前向星在我的上一篇文章“拓扑排序板子练习”中就已经用到了,敲这篇文章主要是想尽量准确地解释什么是链式前向星,以及其作用是什么,经常用在哪些类型的题。原创 2022-11-17 13:04:08 · 1533 阅读 · 0 评论 -
拓扑排序板子练习
拓扑排序想必不用再多介绍了,下面来看看拓扑排序的一个板子(遍历某一个点的所有边),并做两道拓扑排序相关的例题。原创 2022-11-16 23:07:51 · 519 阅读 · 0 评论 -
求最小生成树
再做做与图、树相关的题目,显然,用并查集能很完美地找出最小生成树,废话不多说,直接看题目。原创 2022-11-13 23:03:02 · 432 阅读 · 0 评论 -
重刷单调栈
单调栈我很久之前就看过了,最近又刷了单调栈经典的两道题目,这篇博客就不说相关理论了,直接看题。原创 2022-11-09 20:52:52 · 349 阅读 · 0 评论 -
lowbit和树状数组的理解与部分应用
对于学计算机的同学来说,学习算法是一件非常重要的事情,废话不多讲,我们来讲讲“树状数组问题”。原创 2022-10-29 20:22:52 · 558 阅读 · 0 评论 -
记忆化搜索
对于学计算机的同学来说,学习算法是一件非常重要的事情,废话不多讲,我们来讲讲“记忆化搜索问题”。原创 2022-10-28 23:24:10 · 1887 阅读 · 1 评论 -
深度优先搜索(dfs)和广度优先搜索(bfs)
对于学计算机的同学来说,学习算法是一件非常重要的事情,废话不多讲,我们来讲讲“dfs和bfs问题”。原创 2022-10-27 17:32:12 · 586 阅读 · 0 评论 -
一维前缀和与一维差分
对于学计算机的同学来说,学习算法是一件非常重要的事情,废话不多讲,我们来讲讲“前缀和与差分问题”。原创 2022-10-25 23:31:26 · 1608 阅读 · 0 评论 -
最大公约数和最小公倍数(python调库水过)
对于学计算机的同学来说,学习算法是一件非常重要的事情,废话不多讲,我们来水一下“最大公约数和最小公倍数问题”。原创 2022-10-24 23:06:10 · 919 阅读 · 0 评论 -
埃氏筛与欧拉筛(线性筛)
对于学计算机的同学来说,学习算法是一件非常重要的事情,废话不多讲,我们来讲讲“埃氏筛与欧拉筛(线性筛)问题”。原创 2022-10-24 17:48:08 · 9364 阅读 · 7 评论 -
快速幂原理以及python内置pow函数
对于学计算机的同学来说,学习算法是一件非常重要的事情,废话不多讲,我们来讲讲“快速幂问题”。原创 2022-10-21 20:03:12 · 4154 阅读 · 0 评论 -
N个字符选K个字符的组合 (或求组合数 )
对于学计算机的同学来说,学习算法是一件非常重要的事情,废话不多讲,我们来讲讲“求组合或组合数问题”。原创 2022-10-18 21:40:08 · 1145 阅读 · 0 评论 -
N个字符或数字的全排列
利用Itertools.permutation()来求组合那是相当方便的......原创 2022-10-18 16:50:13 · 1011 阅读 · 0 评论 -
下一个(全)排列
对于学计算机的同学来说,学习算法是一件非常重要的事情,废话不多讲,我们来讲讲“下一个(全)排列问题”。原创 2022-10-17 16:36:59 · 446 阅读 · 0 评论 -
交互式问题——特殊排序(二分法)
对于学计算机的同学来说,学习算法是一件非常重要的事情,废话不多讲,我们来讲讲“交互式特殊排序问题”。原创 2022-10-15 17:39:16 · 576 阅读 · 1 评论 -
最长回文子序列
对于学计算机的同学来说,学习算法是一件非常重要的事情,废话不多讲,我们来讲讲“最长回文子序列问题”。原创 2022-10-12 12:40:22 · 687 阅读 · 0 评论 -
最长回文子串
对于学计算机的同学来说,学习算法是一件非常重要的事情,废话不多讲,我们来讲讲“最长回文子串问题”。原创 2022-10-11 23:17:24 · 326 阅读 · 0 评论 -
最大上升子序列和
对于学计算机的同学来说,学习算法是一件非常重要的事情,废话不多讲,我们来讲讲“最大上升子序列和问题”。原创 2022-10-11 21:07:15 · 337 阅读 · 0 评论 -
最长公共上升子序列(LCIS)
对于学计算机的同学来说,学习算法是一件非常重要的事情,废话不多讲,我们来讲讲“最长公共上升子序列问题”。原创 2022-10-11 19:43:24 · 4109 阅读 · 4 评论 -
最长公共子序列
对于学计算机的同学来说,学习算法是一件非常重要的事情,废话不多讲,我们来讲讲“最长公共子序列问题”。原创 2022-10-08 19:30:38 · 392 阅读 · 0 评论 -
最长公共子串
对于学计算机的同学来说,学习算法是一件非常重要的事情,废话不多讲,我们来讲讲“最长公共子串问题”。原创 2022-10-08 11:53:47 · 436 阅读 · 0 评论 -
最长上升子序列
对于学计算机的同学来说,学习算法是一件非常重要的事情,废话不多讲,我们来讲讲“最长上升子序列问题”。原创 2022-10-07 12:27:12 · 1114 阅读 · 0 评论 -
完全背包装满背包方案总数
对于学计算机的同学来说,学习算法是一件非常重要的事情,废话不多讲,我们来讲讲“完全背包装满背包方案总数”问题。原创 2022-10-06 17:59:02 · 762 阅读 · 0 评论 -
01背包最大价值方案数
对于学计算机的同学来说,学习算法是一件非常重要的事情,废话不多讲,我们来讲讲“01背包最大价值方案数问题”。原创 2022-10-05 11:27:25 · 1151 阅读 · 1 评论 -
多重背包问题
其实就是01背包的变种而已啦,非常简单的~有人说多重背包是完全背包的变种,其实不然,有一种解释说得好:完全背包的“无穷性”导致了跟这俩背包的性质完全不同,特别是完全背包推导那个表达式的时候:又因为物品无穷性,所以上面两式有一一对应的关系所以 f[i][j]=max(f[i-1][j],f[i][j-v]+w)这是01背包和多重背包的“有限性”都推导不出的结论!原创 2022-10-03 22:44:07 · 254 阅读 · 0 评论 -
完全背包问题
对于学计算机的同学来说,学习算法是一件非常重要的事情,废话不多讲,我们来讲讲“完全背包问题”。原创 2022-10-02 03:27:51 · 398 阅读 · 0 评论 -
01背包问题
对于学计算机的同学来说,学习算法是一件非常重要的事情,废话不多讲,我们来讲讲“01背包问题”。原创 2022-09-29 22:09:45 · 2129 阅读 · 0 评论 -
递归——自己调用自己的特殊形式
一、概念定义分支转向是算法的灵魂;函数和过程及其之间的相互调用,是在经过抽象和封装之后,实现分支转向的一种重要机制;而递归则是函数和过程调用的一种特殊形式,即允许函数和过程进行自我调用。因其高度的抽象性和简洁性,递归已成为多数高级程序语言普遍支持的一项重要特性。比如在C++语言中,递归调用(recursive call)就是某一方法调用自身。这种自我调用通常是直接的,即在函数体中包含一条或多条调用自身的语句。递归也可能以间接的形式出现,即某个方法首先调用其它方法,再辗转通过其.原创 2022-02-22 23:56:45 · 2056 阅读 · 0 评论 -
空间复杂度
目录一、概念定义二、符号表示三、常见种类四、示例解析五、时空权衡一、概念定义空间复杂度涉及的空间类型有:输入空间: 存储输入数据所需的空间大小;暂存空间: 算法运行过程中,存储所有中间变量和对象等数据所需的空间大小;输出空间: 算法运行返回时,存储输出数据所需的空间大小;通常情况下,空间复杂度指在输入数据大小为 N 时,算法运行所使用的「暂存空间」+「输出空间」的总体大小。而根据不同来源,算法使用的内存空间分为三类:指令空间:编译后,程序指令所使用的内原创 2022-02-19 13:57:10 · 7355 阅读 · 2 评论 -
时间复杂度
目录一、概念定义二、符号表示三、常见种类四、示例解析一、概念定义根据定义,时间复杂度指输入数据大小为 N时,算法运行所需花费的时间。需要注意:统计的是算法的“计算操作数量”,而不是“运行的绝对时间”。计算操作数量和运行绝对时间呈正相关关系,并不相等。算法运行时间受到【编程语言 、计算机处理器速度、运行环境】等多种因素影响。例如,同样的算法使用 Python 或 C++ 实现、使用 CPU 或 GPU 、使用本地 IDE 或洛谷、力扣等OJ平台提交时,运行时间都不同。体.原创 2022-02-18 00:06:59 · 2291 阅读 · 0 评论