社区
其它技术问题
帖子详情
O(logN)是什么意思?
nivaini
2005-05-21 07:48:36
没有写底数的log,底数算什么呢?
...全文
30223
14
打赏
收藏
O(logN)是什么意思?
没有写底数的log,底数算什么呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ericqxg007
2005-05-25
打赏
举报
回复
大O表示法表示算法复杂度
logn 表示复杂度为以为底n的对数
arrowcy
2005-05-25
打赏
举报
回复
谢谢大家,书上的原文应该是:
T=K*log2(N) 注:2是小2
时间T与以2为底的对数成正比。实际上,由于所有的对数都和其他对数成比例(从底数为2转换到底数为10需乘以3.322),我们可以将这个为常数的底数也并入K.由此不必指定底数:
T = K*log(N)
这是《数据结构》第一章里的一段话,底数到底应该是几呢?
======================================================================
既然这里都说了不必指定底数,意思就是说任一指定一个底数的话,效果都是一样的,就不必去计较这个了。
如果看到那个地方说某个算法复杂度是O(logN)的话,那可能直接根据那个算法计算出来的基本操作次数是log2(N),也可能是log3(N)甚至还可能是2*log2(N*3)等等,反正这个时候你知道底数也没有什么用,因为你不知道常数项。只不过,计算机中的很多算法如果是O(logN)的复杂度的话,其基本操作的次数都是C1*log2(C2*N),但是这并不是说见到logN就一定是log2N
jsjjms
2005-05-24
打赏
举报
回复
数据结构是表示 时间复杂度的。
没有写底数,表示是 2(数学中的)
MagicCarmack
2005-05-23
打赏
举报
回复
我这对这个记法感觉到有点问题
nivaini
2005-05-23
打赏
举报
回复
谢谢大家,书上的原文应该是:
T=K*log2(N) 注:2是小2
时间T与以2为底的对数成正比。实际上,由于所有的对数都和其他对数成比例(从底数为2转换到底数为10需乘以3.322),我们可以将这个为常数的底数也并入K.由此不必指定底数:
T = K*log(N)
这是《数据结构》第一章里的一段话,底数到底应该是几呢?
mostideal
2005-05-22
打赏
举报
回复
才不是呢。。是2为底。。
summer54
2005-05-22
打赏
举报
回复
楼上的是T(n) = T(n/2) + O(1) 时间复杂度是O(logn)
nasi00
2005-05-22
打赏
举报
回复
比如一个有序的序列,想从里面二分查找一个元素,那么如果这个序列的元素个数是N的话,理论上只需要进行logN次查找,所以就说二分查找的时间复杂度是O(logN)的了,这里的log的底是2,很容易理解吧
nivaini
2005-05-21
打赏
举报
回复
那意思就是说,没有底数就是用什么底数都行吗?
arrowcy
2005-05-21
打赏
举报
回复
一般情况下logN的复杂度通常都是底数为2,不过不管底数是几都是一样的
dog0883
2005-05-21
打赏
举报
回复
知道这个公式吗:loga(b)=logc(b)/logc(a),loga(b)表示以a为底,这样logc(a)是常数,用什么为底就无所谓了
zhousqy
2005-05-21
打赏
举报
回复
大O记法,算法上表示时间复杂度和空间复杂度的。
llf_hust
2005-05-21
打赏
举报
回复
时间复杂度的表示方法
useresu
2005-05-21
打赏
举报
回复
这一般是用来表示复杂度的吧
叫大O记法
底数是2,
log
n是
什么意思
_时间复杂度 O(
log
n) 意味着什么?
原文作者:Maaz译文出自:掘金翻译计划译者:cdpath校对者:zaraguo (zaraguo), whatbeg (Qiu Hu)预先知道算法的复杂度是一回事,了解其后的原理是另一件事情。不管你是计算机科班出身还是想有效解决最优化问题,如果想要用自己的知识解决实际问题,你都必须理解时间复杂度。先从简单直观的 O(1) 和 O(n) 复杂度说起。O(1) 表示一次操作即可直接取得目标...
算法中的O(1), O(n),O(
log
n), O(n
log
n)分别是
什么意思
?
由于平时接触算法比较少,今天看资料看到了o(1),都不知道是
什么意思
,百度之后才知道是
什么意思
。 描述算法复杂度时,常用o(1), o(n), o(
log
n), o(n
log
n)表示对应算法的时间复杂度,是算法的时空复杂度的表示。不仅仅用于表示时间复杂度,也用于表示空间复杂度。 O后面的括号中有一个函数,指明某个算法的耗时/耗空间与数据增长量之间的关系。其中的...
O(
log
n)的意思
T=K*
log
2(N)注:2是小2时间T与以2为底的对数成正比。实际上,由于所有的对数都和其他对数成比例(从底数为2转换到底数为10需乘以3.322),我们可以将这个为常数的底数也并入K.由此不必指定底数:T=K*
log
(N)(知道这个公式吗:
log
a(b)=
log
c(b)/
log
c(a),
log
a(b)表示以a为底,这样
log
c(a)是常数,用什么为底就无所谓了)这是《数据结构》第一章里的...
【算法】O(N*
log
N) 是啥意思
表示算法的运行时间与输入规模 N 的对数成正比。这种时间复杂度通常出现在一些高效的排序算法(如快速排序、归并排序)中,因为这些算法在每一次操作中都能将输入规模减半,所以它们的时间复杂度是。是一种时间复杂度的表示方法,用来描述算法的运行时间随着输入规模 N 的增长而增长的速度。其中,N 代表输入规模,并不是最快的时间复杂度,还有一些算法能够达到更快的速度,如。@[TOC](【算法】O(N*
log
N) 是啥意思)的算法已经足够高效,并且被广泛应用于各种领域。但在很多实际应用中,表示以 2 为底的对数。
易语言源码高亮显示(模块代码)
易语言源码高亮显示(模块代码)
其它技术问题
3,881
社区成员
9,044
社区内容
发帖
与我相关
我的任务
其它技术问题
C/C++ 其它技术问题
复制链接
扫一扫
分享
社区描述
C/C++ 其它技术问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章