Amoritized Analysis
purpose
Amortized anaysis 是一种对于算法最坏情况下平均耗时的分析,与其关注单次情况下的最坏情况,Amortized analysis 会平均每一次情况下的耗时,以达到对算法在最坏情况下的更准确的时间分析
idea
对于amortised analysis, 用直接或者间接的方式去模拟算法的过程,忽视每一次的时间,而关注每一次之间的关系,以及对于最终时间的影响
four(three) approaches
- aggregate method
aggregrate method 是最直白的方式,找到算法的表达式,算他的均值 - accounting method
accouting method 是一种以banking 来模拟time complexity的方式,把算法模拟成消费和在银行中存钱。首先要保证,银行中的钱一定不会是负的,每一个operation 的amortized cost就是user 在每一个operation里面画的钱,user可以去把钱存到银行里面以便之后其他的operation使用- sample
table doubling --> insert --> $2; double --> $0
- sample
- charging method
这个方法和accounting method几乎相同,不过不是向bank里面存钱而