- 博客(2)
- 收藏
- 关注
原创 算法导论随笔(十二):摊还分析(Amortized Analysis)之聚合分析、核算法和势能法
在算法导论随笔(一): 操作计数与复杂度Big(O)中,我简单介绍了计算一个算法的时间复杂度的方法。该方法结算结果虽然都是正确的,但有时不一定特别准确地代表复杂度函数的渐进上界。因此,人们创建了一个分析方式,可以更精确地表示一个复杂度函数的渐进上界。这个分析方式就是我今天要介绍的摊还分析。1.为什么要引入摊还分析前文说到,使用分析操作计数的方法来计算时间复杂度时,有的时候求出的渐进上限并不准确,也就是说,由于我们一直是在考虑程序消耗时间的最坏情况,而程序并不是一直处于最坏情况。因此我们求出的复杂度经常高
2020-09-02 06:28:12 2683
原创 算法导论随笔(十一):最大流(Max-Flow)与Ford-Fulkerson算法(附Python实现源码)
前面的几篇文章中我们讨论了一些图的算法。其中大部分都是关于无向图的算法。这篇文章里我来说说有向图的算法。先说一说有向图的一个应用,也就是流网络(Flow Network)。1. 流网络先来看流网络的定义。对于流网络,《算法导论》第26章是这样定义的:流网络 G = (V, E)是一个有向图,图中每一条边(u, v) ∈ E有一个非负的容量值c(u, v) >=0。而且,如果边集合E包含一条边(u, v),则图中不存在反方向的边(v, u)。如果(u, v) ∉ E,则为方便起见,定义c(u,
2020-09-01 06:32:36 6143 3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人