惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
The Blog of Author Tim Ferriss
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
云风的 BLOG
云风的 BLOG
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
P
Palo Alto Networks Blog
D
Docker
H
Hackread – Cybersecurity News, Data Breaches, AI and More
S
Schneier on Security
Engineering at Meta
Engineering at Meta
I
InfoQ
L
LangChain Blog
Cyberwarzone
Cyberwarzone
T
Tenable Blog
WordPress大学
WordPress大学
P
Privacy & Cybersecurity Law Blog
罗磊的独立博客
Apple Machine Learning Research
Apple Machine Learning Research
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Jina AI
Jina AI
C
CERT Recently Published Vulnerability Notes
Scott Helme
Scott Helme
博客园 - 三生石上(FineUI控件)
酷 壳 – CoolShell
酷 壳 – CoolShell
Know Your Adversary
Know Your Adversary
D
Darknet – Hacking Tools, Hacker News & Cyber Security
The Last Watchdog
The Last Watchdog
Last Week in AI
Last Week in AI
Cloudbric
Cloudbric
S
SegmentFault 最新的问题
爱范儿
爱范儿
Application and Cybersecurity Blog
Application and Cybersecurity Blog
博客园 - 叶小钗
AI
AI
T
Tor Project blog
I
Intezer
T
Threatpost
www.infosecurity-magazine.com
www.infosecurity-magazine.com
V
Visual Studio Blog
N
News and Events Feed by Topic
Latest news
Latest news
S
Security Affairs
博客园 - Franky
Microsoft Security Blog
Microsoft Security Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
B
Blog RSS Feed
C
Cybersecurity and Infrastructure Security Agency CISA
Hugging Face - Blog
Hugging Face - Blog
小众软件
小众软件
S
Securelist

博客园 - Brendan

[转载]Manually configuring Microsoft Internet Information Services (IIS) IIS与TOMCAT协同工作---在IIS下运行JSP页面 AXIS部署错误解决方案集锦 使用System.Web.Mail发送Mail的错误解决方案 类的XML序列化(XML Serialization) [翻译]你可以赚钱,但你不能赚时间 Windows 2003 Server配置IIS服务器(ASP, ASP.NET)全功略 Session state can only be used when enableSessionState is set to true, either in a configuration file or in the Page directive 用MS SQL Server事件探查器来跟踪数据库的操作 反反编译工具——Deploy.NET C中获取当前时间的函数 Buffered I/O 与 Non-Buffered I/O性能差异的实例体验 主定理(Master Theorem) Dynamic Programming之Longest Increasing Subsequence (LIS)问题 ADO.NET数据库连接模块 ASP.NET控件事件丢失的探究 SQLDMO For C#(翻译) 关联(Association)设计中的扇形陷阱(Fan Traps)和断层陷阱(Chasm Traps) 简单并发控制
替换函数(Substitution Function)
Brendan · 2006-04-11 · via 博客园 - Brendan

        在对算法进行分析的时候,常常要计算该算法时间复杂度的近似表示(Asymptotic Notation)。然而在求取的过程中,常常遇到递归函数,使求解陷入困境。

        一般的,解决上述递归的方法有三种:替换函数(Substitution Function),迭代(Iteration)和主定理(Master Thorem)。这里介绍替换函数(Substitution Function)。

替换函数(Substitution Function)替换函数(Substitution Function)的步骤一般有三:
1. 猜测(Guess)解的形式
2. 用数学归纳法验证(Verify)
3. 用满意的常量来
解答(Solve)

首先猜测(Guess)一般我们基于下表这些常用的Efficiency Class

名称 注释
1 常数 很少使用,可以忽略输入
log n 对数
n 线性 查找整个输入列表
n log n n-log-n 很多分治法算法
n2 二次 内嵌两个循环的算法
2n 指数 生成某一个集合的所有子集

对于后两步的说明可以用一个例子来表现:
T(n) = 4T(n/2)  + n
- 猜测T(n)=O(n3)

- 假设对于任何k<n有T(k) <= ck3用数学归纳法证明T(n) <= cn3
   T(n) = 4T(n/2) + n <= 4c(n/2)3 + n = cn3/2 + n = cn3 - (cn3/2 - n) <= cn3 (如果c >= 2 且 n>=1)
   那么T(n)=O(n3)

注意:证明数学归纳法的步骤中,使用(你需要的结果) - (某个式子) > 0

求取比较紧的一个上界,试试T(n)=O(n2)。

注意使用减去小的项来加强数学归纳法的假设
- 假设对于任何k<n有T(k) <= c1k2 - c2k,
   T(n) = 4T(n/2) + n <= 4(c1(n/2)2 - c2(n/2)) + n = c1n2 - 2c2n + n = c1n2 - c2n - (c2n - n) <= c1n2 - c2n
   那么T(n) = O(n2)