《算法导论第三版》19.2节最后部分是对抽取最小结点的摊还分析。
如上图所示
问题1:从O(D(n)+t(H))+((D(n)+1)+2m(H))-(t(H)+2m(H))到O(D(n))+O(t(H))-t(H)的中间过程是怎样的?
问题2:从O(D(n))+O(t(H))-t(H)到O(D(n))的中间过程是怎样的?
问题3:什么叫可以增大势的单位?
问题4:增大势的单位为什么可以支配隐藏在O(t(H))中的常数?
问题5:请接地气地描述这个摊还分析的整个过程?
尝试自己理解过
《算法导论第三版》19.2节最后部分是对抽取最小结点的摊还分析。
如上图所示
问题1:从O(D(n)+t(H))+((D(n)+1)+2m(H))-(t(H)+2m(H))到O(D(n))+O(t(H))-t(H)的中间过程是怎样的?
问题2:从O(D(n))+O(t(H))-t(H)到O(D(n))的中间过程是怎样的?
问题3:什么叫可以增大势的单位?
问题4:增大势的单位为什么可以支配隐藏在O(t(H))中的常数?
问题5:请接地气地描述这个摊还分析的整个过程?
尝试自己理解过
在摊还分析中,尤其是使用势能法时,"增大势的单位"意味着我们重新定义势能函数φ,使得在每次操作后,即使操作成本较低,我们也能通过增加势能(即增加φ的值)来"存储"一些额外的成本,以便在未来某个时候使用。这实际上是一种在时间上重新分配成本的技术,使得在平均意义上,每次操作的成本看起来更加平滑。
具体来说,如果原来的势能函数φ(x)表示某种与数据结构x相关的成本度量,我们可能通过修改φ(x)的定义(例如,乘以一个常数或添加新的项)来"增大势的单位",这样,在某些操作发生时,我们可以允许势能增加更多,以补偿那些成本较低但频繁发生的操作,从而确保在长时间内,操作的平均成本满足我们期望的界。
在摊还分析中,隐藏在O(t(H))中的常数可能代表了一些固定但不可忽视的成本,这些成本在单独看某个操作时可能显得不重要,但在多次操作累积后可能变得显著。通过增大势的单位,我们可以将这些常数成本的一部分或全部"吸收"到势能中,即在每次操作时通过增加更多的势能来"支付"这些常数成本。这样,在分析平均成本时,这些常数成本就被势能的变化所"支配"了,从而不再直接影响操作的平均成本界。
摊还分析是一种计算算法操作平均成本的技术,尤其适用于那些操作成本波动较大的情况。整个过程可以这样接地气地描述:
1 回答910 阅读✓ 已解决
1 回答1.2k 阅读
1.1k 阅读
810 阅读
694 阅读
563 阅读
514 阅读