算法分析与设计(一)

MASTER THEOREM

求解有特定格式的递归函数的上界O(g(n))O(g(n))O(g(n))

适用的递归式如下

T(n)=aT(n/b)+f(n),where a≥1,b>1, and f(n) is asymptotically function such as n,n2....(a≥1,b>1,且f(n)是一个渐进函数,如n,n2...)T(n) = aT(n/b) + f(n), \\ where\ a \geq 1,b>1,\ and\ f(n)\ is\ asymptotically\ function\ such\ as\ n, n^2.... \\ (a \geq 1, b>1, 且f(n)是一个渐进函数,如n, n^2...)T(n)=aT(n/b)+f(n),where a1,b>1, and f(n) is asymptotically function such as n,n2....(a1,b>1,f(n)n,n2...)

f(n)f(n)f(n)nlogban^{ log _b a}nlogba进行比较

  1. 对于某个常数ε>0\varepsilon>0ε>0,有f(n)=O(nlogba−ε)f(n)=O(n^{log_ba-\varepsilon})f(n)=O(nlogbaε),即f(n)f(n)f(n)增长速率比nlogban^{ log _b a}nlogba
    则有:

T(n)=Θ(nlogba)T(n)=\Theta(n^{ log _b a})T(n)=Θ(nlogba)

  1. 对于某个常数k≥0k\geq0k0,有f(n)=O(nlogba⋅lgkn)f(n)=O(n^{log_ba} \cdot lg^kn)f(n)=O(nlogbalgkn),即f(n)f(n)f(n)增长速率与nlogban^{ log _b a}nlogba相当
    则有:
    T(n)=Θ(nlogba⋅lgk+1n)T(n)=\Theta(n^{ log _b a} \cdot lg^{k+1} n)T(n)=Θ(nlogbalgk+1n)

  2. 对于某个常数ε>0\varepsilon>0ε>0,有f(n)=O(nlogba+ε)f(n)=O(n^{log_ba + \varepsilon})f(n)=O(nlogba+ε),即f(n)f(n)f(n)增长速率比nlogban^{ log _b a}nlogba
    则有:
    T(n)=O(f(n))T(n)=O(f(n))T(n)=O(f(n))

DFS

可以应用于表示图的数据结构

邻接矩阵: Θ(∣V∣2)\Theta(|V|^2)Θ(V2)
邻接链表: Θ(∣V∣+∣E∣)\Theta(|V|+|E|)Θ(V+E)
其他 … …

应用

检查图的连通性
找最大连通子图
判断图是否有环
找强连通子图
其他 … …

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值