菜鸟级的问题
自学数据结构,第一章遇见了困难,关于数据结构时间复杂度的问题:
(1)i=1;j=0;
while(i+j<=n)
if(i>j) j++;
else i++;
(2)y=0;
while((y+1)*(y+1)<=n)
y++;
就这两个了,举个例子具体告诉我怎么算的行么,我不太明白,书上的也不是很明白,谢谢你们了..
參考答案:当然行,只要语法不错就可以。
你到底想问什么偶都没看懂。
第一个复杂度为 2^(n/2)
第二个为3^(n/2)
看每一个循环:
第一个i+j是一个运算,j++ or i++又一个 n/2次
第二个y+1两次计算,又有一个y++,三个计算,n/2次