您的位置:首页 > 其它

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

2011-05-30 20:18 911 查看
这是《算法导论》(原书第二版)中第17章的一个习题(17.4-2)。
分成三种情况讨论:
1)αi≥ 1/2
这时表并没有进行扩张或收缩,只是表中的项数少了1
平摊代价

^Ci

=
ci+Φi-Φi-1
=
1 + (2 · numi - sizei) - (2 · numi-1 - sizei-1)
= 1-2 =-1
2) 1/4<=αi < 1/2
这时表并没有进行扩张或收缩,除了表中的项数少了1,

^Ci =

ci+Φi-Φi-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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐