离散数学及其应用学习笔记——主定理(Master Theorem)的证明
先贴出两个初中数学公式
使用换根公式和对数倒数性质可以得出这样的结论:
a^{log_bn}=n^{log_ba}
等比数列求和公式:
S_n=\frac{a_nq-a_1}{q-1}
这个关于f(n)的公式可以估计满足分治关系的函数的阶:如果f(n)=af(nb)+g(n)f(n)=af(\frac{n}{b})+g(n)那么有:
f(n)=a^kf(1)+\sum_{j=0}^{k-1}a^jg(\frac{n}{b^j})
主定理(MasterTheorem):
设ff是满足递推关系:
f(n)=af(nb)+cndf(n)=af(\frac{n}{b})+cn^d
的增函数,其中n=bkn=b^k,kk是一个正整数,a≥1a\geq1,bb是大于1的正整数,cc和dd是实数,满足cc是正的且bb是非负的。那么f(n)f(n)是
O(nd)O(n^d) a<bda
O(ndlogn)O(n^dlogn) a=bda=b^d
O(nlogba)O(n^{log_ba}) a>bda>b^d
怎么证明呢?可以分为三种情况来证明:
- a<bda
- a=bda=b^d
- a>bda>b^d
首先可以将f(n)=akf(1)+∑k−1j=0ajg(nbj)f(n)=a^kf(1)+\sum_{j=0}^{k-1}a^jg(\frac{n}{b^j}) ,代入主定理递推关系,因为g(n)=cndg(n)=cn^d,可以得到
f(n)=a^kf(1)+c\sum_{j=0}^{k-1}a^j(\frac{n}{b^j})^d\\ =a^kf(1)+c\sum_{j=0}^{k-1}a^j(\frac{n}{b^j})^d
由于n=bkn=b^k,所以k=logbnk=log_bn
优先考虑a=bda=b^d的情况:
f(n)=a^kf(1)+c\sum_{j=0}^{k-1}a^j(\frac{n}{b^j})^d\\ =a^kf(1)+c\sum_{j=0}^{k-1}a^j(\frac{n}{b^j})^d\\ =({b^d})^{log_bn}f(1)+cn^d\sum_{j=0}^{k-1}({b^d})^jb^{-jd}\\ =n^df(1)+cn^dk\\ =n^df(1)+cn^dlog_bn\\
所以 a=bda=b^d时, f(n)f(n)是 O(ndlogn)O(n^dlogn)
然后是a≠bd a\neq b^d的情况,使用等比数列求和公式可以做出如下推导:
f(n)=a^kf(1)+c\sum_{j=0}^{k-1}a^j(\frac{n}{b^j})^d\\ =a^kf(1)+c\sum_{j=0}^{k-1}a^j(\frac{n}{b^j})^d\\ =a^kf(1)+cn^d\sum_{j=0}^{k-1}(\frac{a}{b^d})^j\\ =a^kf(1)+\frac{((\frac{a}{b^d})^k-1)cn^db^d}{a-b^d}\\ =a^kf(1)+\frac{(\frac{a}{b^d})^{log_bn}cb^dn^d}{a-b^d}+\frac{n^db^dc}{b^d-a}\\ =n^{log_ba}f(1)+\frac{(\frac{a}{b^d})^{log_bn}cb^dn^d}{a-b^d}+\frac{n^db^dc}{b^d-a}\\ =n^{log_ba}f(1)+\frac{{n^{log_b{\frac{a}{b^d}}}}cb^dn^d}{a-b^d}+\frac{n^db^dc}{b^d-a}\\ =n^{log_ba}f(1)+\frac{{n^{log_ba}}n^{-d}cb^dn^d}{a-b^d}+\frac{n^db^dc}{b^d-a}\\ =n^{log_ba}f(1)+\frac{{n^{log_ba}}cb^d}{a-b^d}+\frac{n^db^dc}{b^d-a}\\ =n^{log_ba}f(1)+\frac{{n^{log_ba}}n^{-d}cb^dn^d}{a-b^d}+\frac{n^db^dc}{b^d-a}\\ =C_1n^d+C_2n^{log_ba}
这里C1=bdcbd−aC_1=\frac{b^dc}{b^d-a}, C2=f(1)+bdca−bdC_2=f(1)+\frac{b^dc}{a-b^d}
我们还可以推导出结论:
当a<bda
log_ba
当a>bda > b^d
log_ba>log_b{b^d}=d
同时使用已经得出的结论f(n)=C1nd+C2nlogbaf(n)=C_1n^d+C_2n^{log_ba},可以完成证明
O(nd)O(n^d) a<bda
O(nlogba)O(n^{log_ba}) a>bda>b^d
至此,主定理的证明全部完成。
离散数学及其应用学习笔记——主定理(Master Theorem)的证明相关推荐
- 主定理(Master Theorem) 及其应用
主定理"Master Theorem" 一.主定理(Master Theorem) 二.应用举例 在分析算法的时候,我们经常需要分析递归算法的时间复杂度. 一.主定理(Master ...
- 主定理(master theorem)学习小记
前言 这是分析复杂度的一个玩意儿,东西不多,原本只要死记一下就好了,但是考虑到我不太好的记忆力,所以还是解析一遍比较好 正文 主定理是用来分析T(n)=aT(nb)+f(n)T(n)=aT(\frac ...
- 主定理 Master Theorem
分治法主定理 主定理的证明 假设有递归式: T(n)=aT(nb)+f(n)T(n) = aT(\frac{n}{b}) + f(n)T(n)=aT(bn)+f(n) 证明: T(n)=aT(n/b ...
- 主定理(Master Theorem)
主定理是分析分治算法时间复杂度很重要的一个定理. 我们之前对于一个递归类的代码进行时间复杂度分析,一般会采用递归树的方式,下面我们先介绍一下递归树的方式,理解之后,再引入主定理的相关内容. 分治的介绍 ...
- 泰斗破环神学习笔记——主界面开发
泰斗破环神学习笔记--主界面开发 主界面主要就是,角色状态面板.角色信息面板.金币与钻石数额面板 文章目录 泰斗破环神学习笔记--主界面开发 前言 一.委托(delegate) 二.事件(Event) ...
- MySQL学习笔记-主键索引和二级索引
文章目录 MySQL学习笔记-主键索引和二级索引 1.笔记图 2.索引的常见模型 3.InnoDB 的索引模型 4.主键索引和普通索引查询的区别 5.如何选择主键字段 6.笔记图 7.回表过程 8.最 ...
- 【Bandit Algorithms学习笔记】UCB算法的理论证明
文章目录 前言 算法优势 算法原理 UCB公式 UCB算法流程 相关定理及证明 定理7.1 证明 定理7.2 证明 总结 参考资料 前言 笔者毕设研究的是Bandit问题,因此最近在学习相关的内容,想 ...
- 『Discrete Mathematics and Its Applications』离散数学及其应用学习笔记
教材是Discrete Mathematics and Its Applications 7th,做了一些简单的翻译和简单的笔记. 1. The Foundations: Logic and Proo ...
- 《MySQL实战45讲》实践篇 24-29 学习笔记 (主备篇)
图片来自于极客时间,如有版权问题,请联系我删除. 24 | MySQL是怎么保证主备一致的? 主备切换流程如下: 建议把节点 B(也就是备库)设置成只读(readonly)模式. 1.有时候一些运营类 ...
最新文章
- very_confusing
- android9怎样适配nfc,android – 如何使用NFC动作
- Java分布式篇5——FastDFS
- JavaScript的三大高阶函数
- 芬兰诺基亚获得三个欧洲市场的5G订单
- [OpenCV学习]1、环境搭建
- 对字符串进行折半查找c语言,C语言:编写折半查找函数
- 剑指offer——面试题42-2:翻转单词顺序
- mysql实训报告_MySQL实验报告
- Prime Path素数筛与BFS动态规划
- STM32的ucgui移植
- J2EE框架DDoS漏洞预警公告
- 3串锂电池充电保护板设计
- android 5.1 屏蔽MENU键 返回键唤醒系统
- java StringBuilder用法,用逗号拼接字符串 zhaoqian,sunli,zhouwu
- sasl java_SASL协议java实现
- Harbor docker
- Python如何读取STL文件,生成STL文件预览图(缩略图)
- 我对响应式编程中Mono和Flux的理解
- linux中文输入法 2017,ubuntu 16.04 下安装并切换搜狗中文输入法
热门文章
- C语言的fclose()函数
- MATERIALISE_MAGICS_TOOLING_EXPERT_V2.1.1-LND
- 修复office 2007或2010安装程序找不到Proplas.ww/Proplsww.cab
- 辣鸡百度云PC端密码输入老是错误的解决办法(即使你输入的是对的)
- web仿微信支付界面,自定义模拟键盘
- MT2503芯片处理器平台简介
- 通信原理 简易数字基带信号系统仿真设计的matlab实现(带眼图)
- 深度学习数据标注工具
- FPGA图像处理_查找表的使用(正弦函数的实现)(含源码)
- 电子产品21个权威认证