多次弹出和摊销
Multi pop and amortization
现在我正在学习会计摊销。在许多教科书和网站上都有一个例子,他们用堆栈的多弹出方法教授会计摊销。堆栈操作的字面成本,其中
'''
推送:1
流行音乐:1
多重弹出:最小值(stack.size,k)
'''
我了解这些运营成本,但是示例总是转移到将摊余成本分配给那些总是
'''
推:2
人口:0
多重流行音乐:0
'''
为什么分配成本时是 push 2?为什么 pop 和 multi pop 是 0? multi pop 不会比 push 有更大的价值吗?
感谢您的帮助。
关于摊销的偷偷摸摸的事情是实际成本不再完全对应于摊销成本。除了你不能破产之外,没有确定如何摊销操作的通用方法,因此如果你愿意,你可以将 multi-pop 的摊销成本设为 5。
在这个例子中,你可以想象,每当我们推送一个元素(成本 1)时,我们还购买了一张适合弹出该元素的凭证(成本 1,所以 1 + 1 = 摊销成本 2 因为我们做了一个单元工作并为另一个人预付)。然后我们只使用代金券支付 pop,所以 pop 和 multi-pop 都是免费的。
现在我正在学习会计摊销。在许多教科书和网站上都有一个例子,他们用堆栈的多弹出方法教授会计摊销。堆栈操作的字面成本,其中 ''' 推送:1 流行音乐:1 多重弹出:最小值(stack.size,k) ''' 我了解这些运营成本,但是示例总是转移到将摊余成本分配给那些总是 ''' 推:2 人口:0 多重流行音乐:0 ''' 为什么分配成本时是 push 2?为什么 pop 和 multi pop 是 0? multi pop 不会比 push 有更大的价值吗?
感谢您的帮助。
关于摊销的偷偷摸摸的事情是实际成本不再完全对应于摊销成本。除了你不能破产之外,没有确定如何摊销操作的通用方法,因此如果你愿意,你可以将 multi-pop 的摊销成本设为 5。
在这个例子中,你可以想象,每当我们推送一个元素(成本 1)时,我们还购买了一张适合弹出该元素的凭证(成本 1,所以 1 + 1 = 摊销成本 2 因为我们做了一个单元工作并为另一个人预付)。然后我们只使用代金券支付 pop,所以 pop 和 multi-pop 都是免费的。