已知T(n)=2T(n/2)+n,求O(n)?
已知T(n)=2T(n/2)+n;求O(n)?
总结网上的归纳,自己再写一遍:
T(n)=2T(n/2)+n 第一次,即k=1T(n/2)=2T((n/2)/2)+n/2 第二次,即k=2T((n/2)/2)=2T(((n/2)/2)/2)+(n/2)/2 第三次,即k=3
即:
T(n/20)=2T(n/21)+n/20 第一次,即k=1,t=2 ①
T(n/21)=2T(n/22)+n/21 第二次,即k=2,t=4 ②
T(n/22)=2T(n/23)+n/22 第三次,即k=3,t=8 ③
③式带入②式得:T(n/2)=2(2T(n/23)+n/22)+n/21=22T(n/23)+n ④;
②式代入①式得:T(n)=2(22T(n/23)+n)+n=23T(n/23)+3n ⑤;
三式得出T(n)=23T(n/23)+3n ⑤,故当有k个式子,且最后一个的式子表达是T(2)=2T(1)+2的时候,⑤式中的次幂3可换为k,即T(n)=2kT(n/2k)+kn ⑥,而这中间使2k=n,才得最后一个表达式代入总式内故得T(n)=2kT(1)+kn ⑦。
此时解开⑦式便可。
∵2k=n
∴k=log2n
∴T(n)=n+nlog2n
∴O(n)=nlog2n
已知T(n)=2T(n/2)+n,求O(n)?相关推荐
- 买天文望远镜必看——已知望远镜焦距、相机画幅,求视场(附代码,实时更新)
已知望远镜焦距.相机画幅,求视场 1. 计算 θ 1 , θ 2 , θ 3 \theta_1,\theta_2,\theta_3 θ1,θ2,θ3 分别表示横.纵和对角向视场角直径,单位:弧度 ...
- PAT甲级1020变体:已知二叉树层序+中序序列,求后序遍历序列
PAT甲级1020变体:已知二叉树层序+中序序列,求后序遍历序列 题目 输入格式 输出格式 输入样例 输出样例 代码 题目 已知二叉树层序+中序序列,求后序遍历序列. 输入格式 第一行给出该二叉树的节 ...
- 分别已知两直线上的两点,求两直线交点
分别已知两直线上的两点,求两直线交点 求两直线的交点是初中数学的简单问题了,在直角坐标系中直线有很多种表示方式.同时我们知道两点确定一条直线,已知两点坐标自然能求出直线坐标,已知两直线坐标自然能求出两 ...
- 已知两圆圆心坐标及半径求两圆交点 (C语言|参数方程求解)
已知两圆圆心坐标及半径求两圆交点 (C语言|参数方程求解) 在一个二维平面上给定两个圆的圆心横纵坐标.半径共6个参数, 求交点. 这个问题无非是解二元二次方程组.普通二元二次方程联立消元求解的困难在于 ...
- 数据结构与算法:已知二叉树两种遍历序列,求第三种遍历序列
在笔试题目中经常碰到此类题目,已知先序遍历序列和中序遍历序列,求后序序列或者已知中序序列和后序序列,求先序遍历序列.其中若已知先序序列和后序序列,无法唯一确定一棵树,所以就无法得知中序序列. 1.已知 ...
- 已知曲线上三点,如何求中间一点的法向量。
如下图,已知 A.B.C 三个点,求 B 点的 法向量,即(fCosSita, fSinSita),Sita 为 法线按逆时针方向和水平方向的夹角. 先计算线段AB的单位垂线段2,再计算线段BC 的单 ...
- 已知先序和中序序列求二叉树
已知二叉树的先序和中序序列,构造出相应的二叉树 先序:ABCDEFGHlJ 中序:CDBFEAIHGJ 1.由先序求出A为二叉树的根 2.在中序遍历中找到A的位置,则CDBFE为它的左子树,IHGJ为 ...
- 已知两个质数乘积n,求较大的那个质数
题目描述 已知正整数n是两个不同的质数的乘积,试求出较大的那个质数. 思路 从n-1开始尝试能不能被n整除,能被整除的就是较大的那个质数. #include<iostream> using ...
- GIS算法--已知一点经纬度,方位角,距离求另一点
已知一个点A的经纬度坐标,点B相对与A的方位角,B到A的距离,求B的经纬度坐标,用Javascript语言来完成该算法,借用了一下openL CommonFunc.caculate={Vincenty ...
最新文章
- Android 设计模式:(三)装饰者模式 —— 装饰对象
- 获取pheatmap聚类后和标准化后的结果
- kafka实战最佳经验,阿里又现海王!某程序员同时约两个女生十一出游
- mac下编译安装grafana 4.2.0
- Hyperledger Fabric 1.0 从零开始(八)——Fabric多节点集群生产部署
- Django Models一对多操作
- Android——怎么引入okhttp3
- pdf转换为word问题
- 2018.09.14python学习第四天part2
- 汇编语言8086CPU之寄存器总结
- 调试 Dockerfile - 每天5分钟玩转 Docker 容器技术(15)
- 收获,不止SQL优化——抓住SQL的本质--第四章
- newifimini出厂固件_新路由mini固件|newifi新路由mini OS固件V3.2.1.1100 抢先版 - 极光下载站...
- 如何让你的数据库定时自动备份(2000SQL)
- 完美仿MSN右下角弹出广告代码并可自动消失,附带关闭按钮
- 数据苦库中的几种规范
- gen_fsm的学习笔记
- pythonsample_python sample code | 学步园
- 汇编:Mac系统搭建DOSBox汇编环境
- python 调用sqldr_SQLLDR用武之地
热门文章
- 基于C++的高性能http框架cinatra及其web框架示例feather介绍及开发演示
- java中注解 详解
- java call_求问java代码中的call是什么意思?
- Leco题目:两数相加
- win11怎么快速锁屏 Windows11快速锁屏的设置方法
- 转一篇Java基础的文章,比较有深度的,就转来收藏了
- 【JavaWeb - 网页编程】三 jQuery 类库
- document.getElementById/Name/TagName
- 硬件安全技术——芯片安全设计技术2
- java.sql.SQLException: org.gjt.mm.mysql.Driver