在平摊分析中,执行一系列数据结构操作所需要的时间是通过执行的所有操作求平均而得出的。平摊分析可以用来证明在一系列操作中,通过对所有操作求平均之后,即使其中单一的操作具有较大的代价,平均代价还是很小的。
平摊分析不牵涉到概率, 平摊分析保证在最坏情况下,每个操作具有的平均性能。
三中最常用的技术:
1.聚集分析(aggregate analysis)
证明对所有的n, 由n个操作所构成的序列的总时间在最坏情况下为T(n)
例子:
栈操作
PUSH(S, x):将x压入S
POP(S):弹出栈顶