Amortized Analysis
摊还分析评估一系列操作的总代价平均到每操作的上界,即使单次操作偶尔昂贵。
用途
分析数据结构在操作序列上的平均性能,如动态数组扩容。
机制
三种方法:聚合分析(总代价/操作数)、记账方法(为便宜操作多记账补贴昂贵操作)、势能方法(势函数 Φ 衡量状态复杂度)。动态数组插入摊还 O(1)。
用例
- 数据结构分析
- 性能保证
- 算法设计
摊还分析评估一系列操作的总代价平均到每操作的上界,即使单次操作偶尔昂贵。
分析数据结构在操作序列上的平均性能,如动态数组扩容。
三种方法:聚合分析(总代价/操作数)、记账方法(为便宜操作多记账补贴昂贵操作)、势能方法(势函数 Φ 衡量状态复杂度)。动态数组插入摊还 O(1)。