复杂度O(f(n))中用的数学知识

5 篇文章 0 订阅
1 篇文章 0 订阅

复杂度O(f(n))中用的数学知识

从小到大排序

计算次数表示方式计算公式示例
11
lognlog24 = 2 ; log28 = 3
nn
nlogn8log28 = 8*3 = 24
n2n2

算法中为什么会用到 log

示例计算演变结果
log28log2233
log216log2244
log39log3322
log327log3333

在算法中,有二分法、三分法 最终被划分多少次完成任务 , 用log的计算结果可以很清晰的表示出来拆分用的最大次数

算法中 logn 的底数到底是多少

算法中log级别的时间复杂度都是由于使用了分治思想,这个底数直接由分治的复杂度决定。
如果采用二分法,那么就会以2为底数,三分法就会以3为底数,其他亦然。
不过无论底数是什么,log级别的渐进意义是一样的。
也就是说该算法的时间复杂度的增长与处理数据多少的增长的关系是一样的。

我们先考虑O(logx(n))和O(logy(n)),x!=y,我们是在考虑n趋于无穷的情况。
求当n趋于无穷大时logx(n)/logy(n)的极限可以发现,极限等于lny/lnx,也就是一个常数,
也就是说,在n趋于无穷大的时候,这两个东西仅差一个常数。

所以从研究算法的角度log的底数不重要。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值