我有麻烦了。也许这是一个简单的问题,但我找不到任何关于算术成本单位成本的信息。很抱歉我是数据结构方面的新手。谢谢任何人都能帮忙。这些消息让我很困惑。
图片1:

"partialSum+=i_i_i“的单位成本是1
图片2:

在第二张图中,"sum+=Ai“的单位成本是3。
图2表示1表示+,1表示=,1表示[],但是为什么图1单位成本"partialSum+=i_i_i“是1。
发布于 2018-02-06 03:38:13
单位成本是像int i = 0这样的语句的执行时间,它由于初始化而占用1单元时间。如果迭代i++第n次,则单位成本为1 b/c,其增量值为1。
注释前后增量取其1单位时间b/c值是1在i指向的位置上的增量,假设i =100; i++的地址为它所做的事情,我们并不是从不同的位置增加值,只需在位置100处增加值,这是我所指出的,因此需要增加分配成本。
sum+=A[i]以3单元成本为代价,将评价sum =sum+A[i] 1单元的时间延长到+的A[i] 1单元和最终分配的1单元的提取值。
https://stackoverflow.com/questions/48634902
复制相似问题