当前位置:系统粉 > 电脑问答 > 其他问答 > 关于数据结构中一个时间复杂度的问题!

关于数据结构中一个时间复杂度的问题!

提问者:skm030603  |  浏览 次  |  提问时间:2017-01-13  |  回答数量:7

关于数据结构中一个时间复杂度的问题!例:在下列程序段中: for(i=2;i<= n;++i) for(j=2;j<=i-1;++j) {++x;a[j]=x;} ——语句++x的执行次数关于n的增长率为n的平方,它是语句频度表达式(n-1)(n-2)/2中增长最快的项。 对于红色部分不是很明白,为什么要除以2呢? ——————[s:476] 明白了~~~

已有7条答案
伪情人up

伪情人up

回答数:25  |  被采纳数:84

2017-01-14 01:41:06
for(i=2;i<= n;++i)
for(j=2;j<=n-1;++j)才是(n-1)(n-2)
赞 2
墨汐梦

墨汐梦

回答数:26  |  被采纳数:122

2017-01-14 02:54:40
因为x在双重循环内部 所以它的循环次数是最多的
x要循环 (n-2)*(j-1-2)次
赞 2
橘子味的花猫

橘子味的花猫

回答数:43  |  被采纳数:144

2017-01-14 04:19:59
神仙姐姐~~麻烦您说的再清楚点~~~ [s:479]
你说的这个,不是跟我想的一样吗?难道是题目中错了?不该除以2?
赞 4
玩我很低嗨

玩我很低嗨

回答数:94  |  被采纳数:124

2017-01-14 08:55:44
i=2,3,4,,,,n-1根据等差数列求和就是
赞 9
杨非凡啊

杨非凡啊

回答数:166  |  被采纳数:86

2017-01-14 06:37:26
还是不明白~~跟等差数列没什么关系吧~~
变量i循环了(n-1)次,变量j循环了(n-2)次,所以++x的执行次数应该是(n-1)*(n-2)呀!
题目中给出的结果是(n-1)*(n-2)/2,为什么多了个除以2呢? [s:476]
赞 16
一個秂的旅途

一個秂的旅途

回答数:192  |  被采纳数:142

2017-01-14 13:20:38
你看清楚是j<=i-1不是j<=n-1
赞 19
大爱余温

大爱余温

回答数:134  |  被采纳数:14

2017-01-14 08:52:54
就这句话说到点子上了,刚看清~~~:)
赞 13
解决方法
版权信息

Copyright @ 2011 系统粉 版权声明 最新发布内容 网站导航