[Algorithm] Asymptotic Growth Rate
f(n) 的形式 vs 判定形势
但,此题型过于简单,一般不出现在考题中。
Extended:


Let's set n = 2^m, so m = log(n)
T(n) = 2*T(n^(1/2)) + 1 =>
T(2^m) = 2*T(2^(m/2)) + 1 =>
S(M) = 2*S(M/2)) + 1
通过变量替换,变为了熟悉的、主定理能解决的 形式 => S(m) ~ O(m)
故,S(m) = T(log(n)) ~ O(log(n))
关键点:match 主定理(3)的条件。
a*f(n/b) <= c*f(n) ->
3*f(n/4) <= c*f(n) ->
3*(n/4)*log(n/4) <= c*n*log(n) ->
3/4 * n*log(n/4) <= c*n*log(n)
可见,有c<1时,是满足的。
答案就是O(nlogn)
When f(x) = x*sqrt(x+1)
这里的常数1是个tricky.
去掉它,x^(3/2)
变为x,sqrt(2)*[x^(3/2)]
可见,f(x)~Θ(x^(3/2))
T(n)=T(⌊n/2⌋)+T(⌊n/4⌋)+T(⌊n/8⌋)+n.

n+(7/8)*n+(7/8)^2 *n+(7/8)^3 *n+⋯ 等比数列!
so we have a geometric series and thus,

for our upper bound.
In a similar way, we could count just the contribution of the leftmost branches and conclude that T(n)≥2n.
Putting these together gives us the desired bound, T(n)=Θ(n)
Extended:
Recurrence Relation T(n)=T(n/8)+T(n/4)+lg(n)
太难:Solution.
(a) T(n) = T(n-1) + cn link
(b) T(n) = T(n-1) + log(n) link
(c) T(n) = T(n-1) + n^2 link
(d) T(n) = T(n-1) + 1/n link
(a) 递归展开,探寻规律:
T(n)=T(n−3)+(n−2)c+(n−1)c+nc
At the end we use T(2)=T(1)+2c=1+2cT(2)=T(1)+2c=1+2c. We conclude that
T(n)=1+(2+3+⋯+n)c.

可见是O(n^2)
(b) 递归展开,探寻规律:
T(n) = T(n - 1) + log n
= T(n - 2) + log (n - 1) + log n
= T(n - 3) + log (n - 2) + log (n - 1) + log n
= ...
= T(0) + log 1 + log 2 + ... + log (n - 1) + log n
= T(0) + log n!
According to Stirling's formula, 可见是O(n*log(n))
(c) 递归展开,探寻规律:
T(n)=T(0)+1^2+2^2+3^2+⋯+n^2

Or simply,

O(n^3)
(d) 这里是个调和级数
This is the nth harmonic number, Hn = 1 + 1/2 + 1/3 + ... + 1/n.
"所有调和级数都是发散于无穷的。但是其拉马努金和存在,且为欧拉常数。"
In fact, Hn = ln(n) + γ + O(1/n)
Hint:比较难,需换两次元。

[Algorithm] Asymptotic Growth Rate的更多相关文章
- 本人AI知识体系导航 - AI menu
Relevant Readable Links Name Interesting topic Comment Edwin Chen 非参贝叶斯 徐亦达老板 Dirichlet Process 学习 ...
- The Go Programming Language. Notes.
Contents Tutorial Hello, World Command-Line Arguments Finding Duplicate Lines A Web Server Loose End ...
- Exercises for IN1900
Exercises for IN1900October 14, 2019PrefaceThis document contains a number of programming exercises ...
- Caching Best Practices--reference
reference:http://java.dzone.com/articles/caching-best-practices There is an irresistible attraction ...
- WPF依赖对象(DependencyObject) 实现源码,理解WPF原理必读
/// DependencyObject encompasses all property engine services. It's primary function /// is providin ...
- Background removal with deep learning
[原文链接] Background removal with deep learning This post describes our work and research on the gree ...
- (转)Awesome PyTorch List
Awesome-Pytorch-list 2018-08-10 09:25:16 This blog is copied from: https://github.com/Epsilon-Lee/Aw ...
- Ethereum White Paper
https://github.com/ethereum/wiki/wiki/White-Paper White Paper EditNew Page James Ray edited this pag ...
- CSUOJ 2031 Barareh on Fire
Description The Barareh village is on fire due to the attack of the virtual enemy. Several places ar ...
随机推荐
- 初识CocosCreator的一些问题
本文的cocos creator版本为v1.9.0,除此外大部分都是以v1.9.3版本 1.color赋值 cc.Label组件并没有颜色相关的属性,但是Node有color的属性. //如果4个参数 ...
- ie6定位absolute bug触发layout解决
IE6中很多Bug都可以通过触发layout得到解决,以上的解决方法无论是设置zoom:1还是设置width和height其实都是为了触发layout.下列的CSS属性或取值会让一个元素获得layou ...
- Apache CXF JAX-WS example
1. 环境说明 jdk 1.6.0_29 apache cxf 2.7.7 2. 新建JavaProject 3. 添加jar包,将apache cxf下面lib里面的jar包都添加到项目中(可能有 ...
- 解决IDEA授权报错
今天打开电脑,猛然发现IDEA授权失效,然后重新用账号密码登陆,发现被拒绝,各种百度百思不得其解,抱着试试的态度,点击了重置密码 https://account.jetbrains.com/forgo ...
- Eureka的优势
http://www.cnblogs.com/zgghb/p/6515062.html Eureka的优势 1.在Eureka平台中,如果某台服务器宕机,Eureka不会有类似于ZooKeeper的选 ...
- 使用yocs_cmd_vel_mux进行机器人速度控制切换
cmd_vel_mux包从名字就可以推测出它的用途,即进行速度的选择(In electronics, a multiplexer or mux is a device that selects one ...
- Retrofit 2.0 使用详细教程
文章来自:https://blog.csdn.net/carson_ho/article/details/73732076 前言 在Andrroid开发中,网络请求十分常用 而在Android网络请求 ...
- nginx.conf 集群完整配置
###############################nginx.conf 集群完整配置############################### #user nobody; # user ...
- 公司Docker环境配置
1.安装最新的docker:$ curl -fsSL get.docker.com -o get-docker.sh$ sudo sh get-docker.sh 2.安装docker-compose ...
- IP子系统集成
IP子系统集成 1.Creating External Connections 由此可以看出:block design的设计是可以连接电路板上的CPU的(外挂CPU). 2.生成外部接口 端口生成之后 ...



