当偶尔一切操作很花的时间很慢,而大多数操作的时间都很快的时候,平摊分析的方法就很很好用了.在平摊分析中,我们分析一串操作并且可以得到最坏情况下的平均时间复杂度.例如hash table, disjoint set 和splay tree都是用平摊分析算法的. 举一个简单的hash table的插入算法,我们怎么来定义hash table的大小呢?这是一个时间和空间的权衡(trade-off).如果让hash table空间大的话,那搜索的时间会变慢,如果空间小,不一定能存的下数据. 解决这种权衡…