1 Amortized Analysis

1.1 aggregate analysis

1.2 accounting method

1.3 potential method

e.g. (A) Splay Tree

space efficient

original paper

see hand-written notes

e.g. (B) Disjoint Sets with Union(DSU)

approach 1: Reps

approach 2: Graph

approach 2.1: Tree

observation: if always merge small set into large one

link by rank(x) instead of size(x)

approach 1.2+2.2+path compression

log*

$$ \log^(n)=1+\log^(\log n), \log^* (0\ or\ 1)=0 $$

$$ |E_3| \le \sum_{group_i} \sum_x 2^i \le \sum_{group_i} 2^i * 2n/2^i = O(n \log^* n) $$

e.g. (C) Heap

Heap

what if a sequence of n push operations?

Binomial Heap

Binomial Tree: $T_n=T_{n-1}.root <-> T_{n-1}.root$

Binomial Heap

Fibonacci Heaps

pf.

$$ \phi=|roots|+2|marked| \\ push: O(1) \\ increase\_key: \\ pop\_max: $$

if no increase_key: deg(v0)=0, deg(v1)=1, deg(v2)=2, deg(v3)=3, deg(v4)=4, deg(v5)=5