【笔记】
聚集分析:要证明对所有的n,由n个操作所构成的序列的总时间在最坏情况下为T(n)。因此,在最坏情况下,每个操作的平摊代价为T(n)/n。
【练习】
17.1-1 如果一组栈操作中包括了一次MULTIPUSH操作,它一次把k个元素压入栈内,那么栈操作的平摊代价的界O(1)是否还能保持?
不能,不能保证栈内元素个数,因此不能保证平摊代价。
17.1-2 证明:在k位计数器的例子中,如果包含一个DECREMENT操作,n个操作可能花费Θ(nk)时间。
17.1-3 对某个数据结构执行n个操作的一个序列。如果i为2的整数幂,则第i个操作的代价为i,否则为1。请利用聚集分析来确定每次操作的平摊代价。