我遇到了问题。也许这是一个简单的问题,但我找不到任何有关算术成本单位成本的信息。很抱歉,我是数据结构的新手。谢谢任何人都可以帮忙。 这些来源让我很困惑。
图片1:
单位成本" partialSum + = i i i"是1
图片2:
在第二张图片中,单位成本"总和+ = A [i]"是3
图片2表示1表示+,1表示=和1表示[],但为什么图片1单位成本为" partialSum + = i i i"是1。
答案 0 :(得分:0)
单位成本是int i = 0
等语句的执行时间,由于初始化,它需要1
单位时间。如果第n次迭代i++
,则单位成本将为1
b / c,其增量值为1
注意前后增量需要1
单位时间b / c该值在i指向的位置增加1
,我们不会在不同位置添加值假设i =100;
的地址
i++
它做了什么,只需在我已指向的位置100处增加值,因此需要添加分配成本
sum+=A[i]
花了3
单位成本,让我们延长评估sum =sum+A[i] 1
单位时间,为A[i] 1
和+
1
单位提取值finlly assign的单位