配对堆与左子序列的算法分析
1. 配对堆删除最小元素的摊还分析
在配对堆中,删除最小元素(delete - min)操作的摊还分析是一个重要的研究点。我们需要计算其总摊还运行时间。在第一次遍历中,会进行多种类型的配对操作,设总的配对次数为 (k),其中不同类型的配对次数分别为 (k_{LL})、(k_{MM})、(k_{SS})、(k_{ML})、(k_{MS})、(k_{LS})。
有 (k = k_{LL}+k_{MM}+k_{SS}+k_{ML}+k_{MS}+k_{LS}\leq k_{LL}+k_{MM}+\lg N + k_{ML}+1=k_{LL}+k_{MM}+k_{ML}+O(\log n))。第一次遍历中势的增加量为 (\Delta\varphi=\Delta\varphi_{LL}+\Delta\varphi_{MM}+\Delta\varphi_{SS}+\Delta\varphi_{ML}+\Delta\varphi_{MS}+\Delta\varphi_{LS}\leq O(\log n)-393k_{LL}-150k_{MM})。
将实际工作量与节点势的变化相加,得到 (O(\log n)-392k_{LL}-149k_{MM}+k_{ML}\leq O(\log n)-149(k_{LL}+k_{MM})+k_{ML})。接下来分两种情况讨论:
- 情况一:混合 - 大配对(mixed - large)不超过总配对数的 (\frac{74}{75})
即 (k_{ML}<\frac{74}{75}k),等价于 (k_{ML}<74k_{LL}+74k_{MM})。此时,第一次遍历
超级会员免费看
订阅专栏 解锁全文
3539

被折叠的 条评论
为什么被折叠?



