O(nlog2n)什么意思,O(n) 和O(log2n)是什么意思?

2020-11-18 22:15:18 字数 4280 阅读 7697

1楼:匿名用户

o()代表不超过括号内数值的最大整数值。

通常用来表示某算法的复杂度,亦即是最多需要多少次计算,多少存储空间,等等

2楼:匿名用户

一般用来表示算法的时间复杂度,时间复杂度是nlog2n级别的。

o(n) 和o(log2n)是什么意思?

3楼:匿名用户

是有序线性表,二分查找,不可能比较n次啊,比较n次你等于是把整个线性表遍历了一遍。二分查找每次可以排除一半元素。

比如123456789,你要找2,首先查中间元素5,大于2,所以直接排除掉5右边的6789

然后在1234里继续二分查找。

每次排除1/2的元素,所以是o(log2n)

log2n是什么意思?

4楼:匿名用户

log2n是数学中的对数,是以2为底n的对数为多少,也就是2的多少次方是n

5楼:匿名用户

设这个数是x=log2n

那么就是2的x 次方=n

6楼:ob王者

o(log2n)表示算法的时间复杂度,用的是二分法的思想,比方将一根线一直对折,直到一个点为止

二分法的时间复杂度为o(log2n)是什么意思

7楼:匿名用户

网页链接

你可以看看我的上面这个博客

由于二分查找每次查询都是从数组中间切开查询,所以每次查询,剩余的查询数为上一次的一半,从下表可以清晰的看出查询次数与剩余元素数量对应关系

表-查询次数及剩余数

第几次查询 剩余待查询元素数量

1 n/22 n/(2^2)3 n/(2^3)… …k n/(2^k)从上表可以看出n/(2^k)肯定是大于等于1,也就是n/(2^k)>=1,我们计算时间复杂度是按照最坏的情况进行计算,也就是是查到剩余最后一个数才查到我们想要的数据,也就是

n/(2^k)=1

=>n=2^k

=>k=log2n

所以二分查找的时间复杂度为o(log2n)

8楼:食人鱼肉前

二分查找基本思路是先确定该区间的中间点,然后比较,再一半中再找中间点比较……直到找到.设中间点总数:n,平均查找长度为(n+1)∕ n×㏒2﹙n+1﹚ -1 ≈㏒2﹙n+1﹚-1

在应用极限化简就是log2(n)

复杂度o(nlog2n)怎么计算的?

9楼:匿名用户

for(int j=1; j<=n; j*=2)这个循环最终执行的次数假设为x,则x次的时候j=2^x 。

当j>n时停止执行,于是2^x>n ,则可以认为该循环一共执行了log2(n)次。

所以该循环的时间复杂度为o(log2(n)),简记为o(log n) ,忽略掉2的底数。

方法:1、首先,看外循环for(i=0;i2、再看内部循环,for(j=1;jn===》x=log2(n)。

3、如果把两个循环合在一起看,也就是一共循环了n个x次,也就是log2(n)。

m=o(k*k*log n)什么意思

10楼:匿名用户

时间复杂度

算法分析

同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率.算法分析的目的在于选择合适算法和改进算法.一个算法的评价主要从时间复杂度和空间复杂度来考虑.

1、时间复杂度

(1)时间频度

一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道.但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了.并且一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多.

一个算法中的语句执行次数称为语句频度或时间频度.记为t(n).

(2)时间复杂度

在刚才提到的时间频度中,n称为问题的规模,当n不断变化时,时间频度t(n)也会不断变化.但有时我们想知道它变化时呈现什么规律.为此,我们引入时间复杂度概念.

一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用t(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,t(n)/f(n)的极限值为不等于零的常数,则称f(n)是t(n)的同数量级函数.记作t(n)=o(f(n)),称o(f(n)) 为算法的渐进时间复杂度,简称时间复杂度.

在各种不同算法中,若算法中语句执行次数为一个常数,则时间复杂度为o(1),另外,在时间频度不相同时,时间复杂度有可能相同,如t(n)=n2+3n+4与t(n)=4n2+2n+1它们的频度不同,但时间复杂度相同,都为o(n2).

按数量级递增排列,常见的时间复杂度有:

常数阶o(1),对数阶o(log2n),线性阶o(n),

线性对数阶o(nlog2n),平方阶o(n2),立方阶o(n3),...,

k次方阶o(nk),指数阶o(2n).随着问题规模n的不断增大,上述时间复杂度不断增大,算法的执行效率越低.

2、空间复杂度

与时间复杂度类似,空间复杂度是指算法在计算机内执行时所需存储空间的度量.记作:

s(n)=o(f(n))

我们一般所讨论的是除正常占用内存开销外的辅助存储单元规模.

这个程序为什么时间复杂度是log2n呢 请各位指教

11楼:匿名用户

2的log n次方等于n,i=i*2中的数字2就代表log中的底,如果i=i*3,那么底就是3。意思就是i要经过logn次循环运算才能达到停止条件,也就是i>n

o(n_n)~是什么意思

12楼:筱原雪平明子

应该是这个吧,o(n_n)o,是笑脸的意思,搜狗输入法的表情里也有。

13楼:月亮湾教育培训中心

就是笑的意思啊

在搜狗输入法里输入“哈哈”一词就会有的

14楼:匿名用户

笑啊,比较开心荡漾的笑。这是颜文字

15楼:掌夏戏胭

这是我找到的,别人的回答

1、时间复杂度

(1)时间频度

一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。并且一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。

一个算法中的语句执行次数称为语句频度或时间频度。记为t(n)。

(2)时间复杂度

在刚才提到的时间频度中,n称为问题的规模,当n不断变化时,时间频度t(n)也会不断变化。但有时我们想知道它变化时呈现什么规律。为此,我们引入时间复杂度概念。

一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用t(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,t(n)/f(n)的极限值为不等于零的常数,则称f(n)是t(n)的同数量级函数。记作t(n)=o(f(n)),称o(f(n))

为算法的渐进时间复杂度,简称时间复杂度。

在各种不同算法中,若算法中语句执行次数为一个常数,则时间复杂度为o(1),另外,在时间频度不相同时,时间复杂度有可能相同,如t(n)=n2+3n+4与t(n)=4n2+2n+1它们的频度不同,但时间复杂度相同,都为o(n2)。

按数量级递增排列,常见的时间复杂度有:

常数阶o(1),对数阶o(log2n),线性阶o(n),

线性对数阶o(nlog2n),平方阶o(n2),立方阶o(n3),...,

k次方阶o(nk),指数阶o(2n)。随着问题规模n的不断增大,上述时间复杂度不断增大,算法的执行效率越低。

c语言时间复杂度里的 lg n与log2 n是一样的吗?

16楼:寻魂

都是对的哦~因为实际的需要,对数的值可以根据数量级改变,方便统计比较为主的。当然lg n和log2n数值时不等的,在你比较一类算法的复杂度的时候,取对数的底数必须一样才有可比性,所以只是方便比较用,都是正确的。

17楼:匿名用户

它们相差常数倍。lon2 n=ln n/ln 2.但就数量级而言,它们是相同的

时间复杂度O(N)是什么,时间复杂度O(n)什么意思

1楼 匿名用户 就是级别为n的时间复杂度。是时间复杂度的其中一种算法 时间复杂度o n 什么意思 2楼 飞侠 闪电 时间复杂度 算法分析 同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。一个算法的评价主要从时间复杂度和空间复杂度来考...

TFB在化学中是什么意思,在化学中,2O是什么???

1楼 匿名用户 在化学中,tfb trifluroboran 三氟化硼。 该物质不很稳定, 一般以其与乙醚或者四氢呋喃的复合物来保存 。 2楼 匿名用户 环境问题是当今世界面临的重大问题,随着工业的飞速发展,环境污染问题也日趋严重,面对污染严重的大自然,人们开始惊呼 人类正失去自己的家园。 挽救我们...

汽车高1卧和高2卧有什么区别,长途大巴中的高1卧和高2卧是什么意思

1楼 匿名用户 您好 应该是规格不一样的,祝您用车愉快!如果我的回复能帮到您,请帮忙选为最佳答案,非常感激! 2楼 匿名用户 您好,车型的尺寸大小有差异,如果我的答案对您有所帮助,请设为最佳答案。 长途大巴中的高1卧和高2卧是什么意思 3楼 深圳巨人 客车现在大部分都是卧铺车,有两层,顶层可以供两个...