攤還分析的有關知識

2022-02-01 10:18:59 字數 641 閱讀 7771

攤還分析的背景

攤還分析

攤還分析的具體方法

聚集方法

會計方法(核方法)

勢方法例子

棧操作問題

對於乙個棧,定義其三種操作,計算其平均代價。

聚集方法:

會計方法

勢方法

k位二進位制計算器問題

該計算器中有乙個0/1陣列a[1...k-1],該陣列表示乙個k位的二進位制數x,其中x的最低位儲存在a[0]中,而x的最高位儲存在a[k-1]中。初始時,x = 0。定義操作increment如下:

increment(a)

i = 0;

while i

求解increment操作的代價,代價標準為increment操作中對0以及1反轉的次數。

聚集方法:

會計方法

勢方法

另外,依據勢方法可以進一步討論該問題,可以從計數器不是從0的這一狀態開始進行分析。

幾種基本的攤還分析方法

1.聚合分析 這種方法用來確定乙個n個操作的序列的總代價的上界t n 因而每個操作的平均代價為t n n。我們將平均代價作為每個操作的攤還代價,因此所有操作具有相同的攤還代價。聚集方法的目的 分析平攤代價的上界 分析方法 分析操作序列中每個操作的代價上界ci 求得操作序列的總代價的上界t n c1 ...

攤還分析 1 演算法導論 23

攤還分析 amortized analysis 是一種分析乙個操作序列中所執行的所有操作的平均時間分析方法。與一般的平均分析方法不同的是,它不涉及概率的分析,可以保證最壞情況下每個操作的平均效能。下面介紹癱瘓分析中的最常用的三種技術。先來看對棧進行操作的例子。通常,棧能夠進行push s,x 與po...

簡單理解演算法篇 攤還分析

ref 攤還分析是用來評價程式中的乙個操作序列的平均代價,有時可能某個操作的代價特別高,但總體上來看也並非那麼糟糕,可以形象的理解為把高代價的操作 分攤 到其他操作上去了,要求的就是均勻分攤後的平均代價。攤還分析有三種常用的技術 聚合分析,核算法,勢能法。首先看個例子,現在有三種操作,push s ...