平摊分析--聚集法

Posted duanshuai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了平摊分析--聚集法相关的知识,希望对你有一定的参考价值。

1. 聚集法介绍

将整体操作划分成单个的原子操作,用求和的方法计算 总代价 和 平摊代价

注意:求和时运用好整体操作的规律

【栈操作】

  •  问题定义:对初始为空的栈进行 push,pop 和 multipop三种操作
  •  规律:

调用次数满足 pop + multipop <= push , 代价关系满足 pop + multipop <= push

最坏的总代价问题  等价于  最大压入量

  • 分析:

设进行了n次操作,最大压入量为 n - 1, 总代价 2(n - 1)平摊代价为 2

【二进制计数器】

  • 问题定义:从0开始的k位二进制计数器的代价分析
  • 规律:

A[ 0 ]每 1 次计数改变一次

A[ 1 ]每 2 次计数改变一次

A[ k-1 ]每 2k-1次计数改变一次

  • 分析

设进行了n次操作,A[ 0 ]代价为n,A[ 1 ]代价为[ n/2 ],A[ k-1 ]代价为[ n/2k-1 ],总代价为各项求和2n,平摊代价为2

 

 

以上是关于平摊分析--聚集法的主要内容,如果未能解决你的问题,请参考以下文章

算法分析方法之平摊分析(Amotized Analysis)

复杂度分析---平摊分析(Amortized Analysis)

平摊分析的应用

算法课笔记系列—— 平摊分析

二叉搜索树的随机化插入和伸展插入操作(平摊法)

[算法导论]#1 摊还分析