算法分析
那我就换个名字吧
这个作者很懒,什么都没留下…
展开
-
摊还分析/平摊分析(Amortized Analysis):从白痴到入门
什么是摊还分析?摊还分析其实就是评价某一个操作的代价,方法就是求某数据结构中一系列操作的平均时间。摊还分析与概率无关,可以保证某一系列操作在最坏情况下的平均性能。什么意思呢?举个例子,我们都知道栈这个数据结构,假设现在一个栈支持三种操作:POP(S) //弹出栈顶元素PUSH(S,x) //将元素x压如栈中MultiPop(S,k) //将栈的前k个元素弹出普通分析:设栈为空栈,那么一系列操作,操作总数为n,分别执行PUSH(S,x), POP(S), MultiPop(S原创 2020-12-15 23:13:18 · 8675 阅读 · 6 评论 -
最小树形图的环收缩
气死我了,最近学习关于最小树形图的问题,无论是CSDN还是博客园,真就是天下文章一大抄,图都用一模一样的,又复杂又高糊,我只是想搞懂存在环,这个环是怎么收缩的,结果给我看了屎一样图和文字表达。一气之下,写一个短文好还描述一下环是怎么收缩成点的。本文只简述环的收缩首先,要知道在有向图中,我们把有向图的最小生成树称作最小树形图。先看文字解释吧:若有向图中有环,那么把这个环看成一个点,对于环内的边我们暂时忽略。既然有环,那就是有回路,也就是环内每个点都有指向该点的边。环外也有指向该环(或者说是收缩原创 2020-12-07 23:59:31 · 251 阅读 · 1 评论 -
论文阅读笔记(五):Cloud Programming Simplified: A Berkeley View on Serverless Computing
原文链接:Cloud Programming Simplified: A Berkeley View on Serverless Computing不愧是世界一流学府,对实时技术的把握精准且及时。2009年,UCB发表了关于云计算的文章,并且预测了挑战与需要解决的问题,2019年,他们发表此篇文章,对无服务进行了一番探讨。文章总体分为了8个部分,除去我们不说的致谢部分,还剩7部分。我们接下来看看这七部分分别说了什么。对无服务计算的介绍在2009年,UCB的学者就曾经对云计算提出过一些观点,主要在以下原创 2020-11-21 19:03:09 · 1064 阅读 · 3 评论 -
关于B+树的时间复杂度分析
找了好长时间关于B+树的时间复杂度的博客,没找到几篇相关的,有相关的博客基本都是错误的,当然不排除我没找到的情况。B+树的建立我就简单的说一下,避免大家搞混B树和B+树,这也是面试官喜欢考察的地方(好多面试官对这里也是比较糊涂的,因为面试官不一定是做数据库或者索引相关研究的)。B树和B+树最大的区别就是,B树是将各种信息保存在所有节点中的,B+树是将各种信息保存在叶子中的。这样一来,对于每一个要查找的值来说,B+树都需要从根节点到叶子节点找一遍,那么时间复杂度与树高成正比;B树只需要找到相应节点就停止原创 2020-11-16 21:49:33 · 21707 阅读 · 10 评论 -
判断子集和是否等于常数t(动态规划)
算法老师留了个作业,让给出问题的一个算法,符合题目要求。其中一道题是这样的:翻译一下:给出符合O(nt)的算法,n是正整数数组a[1], a[2], ..., a[n] 的长度;t是正整数。判断数组a的子集和是否等于t?这道题一看就是用dp思想解答,但是dp一直是算法的一个难点,经过各种查询,发现网上的答案给出的解释很简单,但是不容易看懂。本文写给dp思想掌握不好的同学,记录这道题的解决方法。先分析题目:每个元素有两个不同的状态——选与不选。但是如果每个元素都进行相加判断,共需要O(2n)O(2^原创 2020-10-10 01:16:00 · 599 阅读 · 0 评论