c语言时间复杂度里的lgn与log2n是一样的吗

2021-01-05 12:04:38 字数 2563 阅读 7255

1楼:寻魂

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

2楼:匿名用户

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

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

3楼:匿名用户

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

为什么很多递归算法的时间复杂度里都有log n

4楼:把问题给我

比如for (int i=1;i

循环log2(n)次

根据log换底公式

最终复杂度写成ο(log(n))

电脑编程中快速排序的时间复杂度n log n 是n*log(n)还是什么

5楼:匿名用户

问题中两者选择的答案是相同的,且是正确的,n log n 即等于n*log(n),其中*代表乘,默认底数为

2.快速排序的复杂度为log以2为底,n^2的对数,也就是o(n^2),如排序10个数,最坏的情况就是o(10^2)=o(100)≈33

6楼:

快速排序的平均复杂度是在n*log2(n)也就是nlog(n),在信息学中nlog(n)的底数默认为2。至于说快速排序10个数的时间复杂度,是没办法计算的,这个还是和这10个数的初始顺序有关。只能说排序10个数的平均复杂度在10*log2(10),如果这个10个序列差劲,复杂度也有可能是o(10^2)。

(快速排序的最坏情况下的时间复杂度是o(n^2))

7楼:匿名用户

复杂度的表示式里面只看幂级不看具体底数,log n跟log2n是一回事,感觉你有些概念不清的样子,时间复杂度的n就表示算法处理的数字个数,快速排序的时间复杂度就是n log n,快速排序10个数的时间复杂度也还是n log n,你可以说n=10,但是时间复杂度的表示式里面要求把具体的输入个数用n表示,因为这样才能反映出算法在输入个数增加的时候运行时间相应增加的程度,也就是“时间复杂度”这个概念本身想说明的问题。

8楼:谦谦知临

数据结构中logn一般表示2为底数,如果不是的话,才会明确标明。

c语言数据结构log2n

9楼:匿名用户

。。。初中的公式

log2n=logen/loge2

logen代表以e为底的n的对数,loge2代表以e为底的2的对数

10楼:匿名用户

以2为底的对数

这个的作用在于:它能计算出值是2的几次幂!

比如log2(1024)=10

这个在数据结构专中是用来衡属量时间渐进复杂度和空间渐进复杂度的,只是大概值就行。

这些是用来大概衡量的,只需知道个数量级即可

时间复杂度o(log2^n)的循环语句

11楼:匿名用户

错了 明显的程序

i的初始值应当为1.

这个循环执行的次数为以2为底n的对数次

12楼:匿名用户

....就相当于2^m = n两边取以2为底的对数。就是m的值。

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

13楼:匿名用户

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

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

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

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

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

14楼:匿名用户

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)。

程序中的时间复杂度是怎么计算的?

15楼:匿名用户

算法复杂度的介绍,见百科:

http://baike.baidu.***/view/7527.htm

c语言,时间复杂度与空间复杂度,算法时间公式t(n)o(f

1楼 匿名用户 算法的时间复杂度 为了便于比较同一问题的不同算法,通常从算法中抽取一种或者多种有代表性的基本操作,再以这些基本操作重复执行的次数与问题规模的关系t n 作为算法的时间性量度。 如果t n 和 f n 是n 的函数,当n 时,有t n f n c 常数c 0 ,记作 t n o f n...

数据结构算法时间复杂度定义,数据结构与算法,请问时间复杂度是怎么判定的?

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