证明:如果作用于一动态表上的第i个操作是TABLE-DELETE,且αi-1 ≥ 1/2,则以势函数(17.6)表示的每个操作的平摊代价由一个常数从上方限界

这是《算法导论》(原书第二版)中第17章的一个习题(17.4-2)。

分成三种情况讨论:

1αi 1/2

这时表并没有进行扩张或收缩,只是表中的项数少了1

平摊代价

^Ci

=

ciii-1

 

=

1 + (2 · numi - sizei) - (2 · numi-1 - sizei-1)

= 1-2 =-1

2)  1/4<=αi < 1/2

这时表并没有进行扩张或收缩,除了表中的项数少了1

^Ci =

ciii-1

 

=

1 + (sizei /2 - numi) - (2 · numi-1 - sizei-1)

     

=3+3/2 sizei-1 -3 numi-1

=3+3(1/2 -αi-1) sizei-1<=3

 

3) αi<1/4

这种情况只对sizei-1等于2时,numi-1等于1时才会发生。

这时,需要对表进行两次收缩才能满足1/4<=αi <=1,这样表变成一个空表,尺寸和项数都是0

平摊代价:

^Ci =1

因此,平摊代价至多为3

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值