码迷,mamicode.com
首页 > 其他好文 > 详细

平摊分析--聚集法

时间:2020-06-21 15:31:08      阅读:49      评论:0      收藏:0      [点我收藏+]

标签:multi   计数   分析   nbsp   定义   tip   str   运用   margin   

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

 

 

平摊分析--聚集法

标签:multi   计数   分析   nbsp   定义   tip   str   运用   margin   

原文地址:https://www.cnblogs.com/duanshuai/p/13172521.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!