在摊销分析中使用潜力和会计方法
Posted
技术标签:
【中文标题】在摊销分析中使用潜力和会计方法【英文标题】:Using the potential and the accounting methods in amortized analysis 【发布时间】:2021-06-02 07:43:58 【问题描述】:我已阅读有关会计和潜在方法的信息,但我仍然无法解决这些问题:
【问题讨论】:
您必须提供您尝试过的内容并提出更具体的问题。还提供可搜索的文本,而不是图片或扫描,除了模式/图表。换句话说,表现出一些努力。 【参考方案1】:直觉
通过分析每个操作的昂贵案例和便宜案例,您可以了解如何对每个操作收费(然后您可能需要一些小修复来“修复”数字)
通过查看数据结构的重要参数,您可以构建一个潜在的函数(这里例如它是 s2 中元素的数量)
此外,在这里查看许多示例确实很有帮助核算方法:
让每次插入收取两枚硬币:一枚用于从 s2 弹出元素,第二枚用于将元素插入到 s1 并且让我们为每次删除收取一枚硬币,该硬币将用于从 s1 中删除该元素。
然后请注意,银行中的信用不能为负数,因为如果 s1 不为空,那么我们只需支付操作的实际成本(这是从 s1 中唯一的删除),如果s1 为空,然后操作从 s2 弹出并插入到我们已经收费的 s1。 (需要注意的是,我们假设我们从空数据结构开始,或者,我们对数据结构的每个初始状态都获得了适当的信任)
现在您可以看到,对于每组操作,我们的总信用 3n 涵盖了操作的实际成本(我们获得了 s2 中剩余元素的信用边际),因此这些是有效的摊销界限。
要用势函数求解,让我们考虑函数:
Potential(DataStructure) = 2 * s2 中的元素个数
回想一下,我们是这样计算的:
OP.A 的摊余成本 = OP.A 的实际成本 + 潜力(DS after)-Potential(DS before)
所以我们得到(在 k 中表示 s2 中的元素数):
对于插入: 1 + 2(k+1)-2k = 3
为了便宜的删除: 1 + 2k - 2k = 1
对于昂贵的删除: 1+2k + 0 - 2k = 0(实际成本为 1+2k,因为我们从 s2 弹出并插入每个元素到 s1,然后从 s1 弹出一个元素)
【讨论】:
以上是关于在摊销分析中使用潜力和会计方法的主要内容,如果未能解决你的问题,请参考以下文章
全球及中国地板市场现状分析及投资潜力预测报告2021-2027年