Amortized Analysis
๊ณ์ฐ์ด๋ก ์์ ์์ ๋ฐฐ์ด ๋ด์ฉ ์ ๋ฆฌ. CLRS CH 17.
Amortized Analysis
์ฐ๋ฆฌ๋ ์ผ๋ฐ์ ์ผ๋ก ์ด๋ค ์๊ณ ๋ฆฌ์ฆ์ ๋ถ์ํ ๋, $O$, $\Theta$ ๊ฐ์ asymptotic์ ์ฌ์ฉํด์ ๋ถ์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ฐ์ฐ ํ๋ฒ์ $O(n)$ ์๊ฐ์ด ๋ค๊ณ ๊ทธ ์ฐ์ฐ์ $m$๋ฒ ํด์ผ ํ๋ค๋ฉด ์ ์ฒด ์๊ฐ ๋ณต์ก๋๋ $O(nm)$์ด ๋ ๊ฒ์ ๋๋ค.
์ด ๋ฐฉ๋ฒ์ ์ ์ฉํ์ง๋ง ์ด๋ค ์๊ณ ๋ฆฌ์ฆ๋ค์ ์ด๋ ๊ฒ ๋จ์ํ๊ฒ ๋ถ์ํ ์ ์์ต๋๋ค. ๋ํ์ ์ธ ์์๊ฐ C++์ vector (dynamic array)์ ๋๋ค.
vector์ ๋ชจ๋ ์ฐ์ฐ์ ๋ถ์ํ์ง๋ ์๋๋ผ๋, ์ฐ๋ฆฌ๋ ์ผ๋จโฆ
- ๋งจ ๋ค์ pushํ๋ ์ฐ์ฐ์ด $O(1)$ ์๊ฐ์ ์๋ํ๊ธฐ๋ฅผ ์ํฉ๋๋ค.
- ๋งจ ๋ค์์ popํ๋ ์ฐ์ฐ์ด $O(1)$ ์๊ฐ์ ์๋ํ๊ธฐ๋ฅผ ์ํฉ๋๋ค.
์ด ๋ ๊ฐ์ง๋ stack์ผ๋ก๋ ๊ฐ๋ฅํ ์ผ์ ๋๋ค. ๊ทธ๋ฌ๋โฆ
- ์ฐ์ํ ๋ฉ๋ชจ๋ฆฌ๋ง ์ฌ์ฉํ์ฌ, ๋ฐ๋ก index๋ฅผ ํ์ธํ ์ ์์ด์ผ ํฉ๋๋ค. stack์ ๋งํฌ๋ ๋ฆฌ์คํธ๋ก ๊ตฌํํ๋ฉด ์ ๋๊ฐ์ง๋ฅผ ์งํค๊ธฐ ์ฝ์ง๋ง, ๋์ ์
vec[17]
๊ฐ์ ๊ฒ์ ๋ฐ๋ก ํ์ธํ ์๊ฐ ์์ต๋๋ค. ๋์ ๋ฐฐ์ด์ ์ด๊ฒ์ด ๊ฐ๋ฅํด์ผ ํฉ๋๋ค.
๊ทธ๋ฐ๋ฐ, ์ด ๋ ์กฐ๊ฑด์ ๋ญ๊ฐ ์ด์ํฉ๋๋ค. ๋ฐฐ์ด์ ์์๋ค์ด ์ฐ์ํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ์ ํด์ผ ํ๋ค๋ฉด ๊ณ์ push๋ฅผ ํ๋ค๊ฐ ์ธ์ ๊ฐ๋ ๋์ด์ ๊ทธ ์์น์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ธ ์ ์๊ฒ ๋๊ณ , ๊ทธ๋ฌ๋ฉด ๋ชจ๋ ์์๋ค์ ์ด๋๊ฐ๋ก ์ฎ๊ฒจ์ผ ํ๋ฏ๋ก ๊ทธ๋ ๋ค์ด์๋ ์์์ ๊ฐ์๋งํผ์ ์๊ฐ์ด ์์๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก, ์ฐ์ํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ์ ํ๊ธฐ ์ํด์ ๋ฐ๋์ $O(n)$ ์๊ฐ์ด ๊ฑธ๋ฆฌ๋ push๊ฐ ์กด์ฌํฉ๋๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด, vector๋ ๋๋ต ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ๋ฒ์ ์๋๋ค.
- size์ capacity๋ฅผ ๋ถ๋ฆฌํฉ๋๋ค. size๋ ์ง์ง ํ์ฌ ๋ค์ด ์๋ ์์์ ๊ฐ์๋ฅผ, capacity๋ ํ ๋น๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋งํฉ๋๋ค.
- ๋ง์ฝ capacity๊ฐ ๋ค ์ฐจ์ง ์์๋ค๋ฉด push๊ฐ $O(1)$์ ๊ธฐ๋ฅํ๊ฒ ํ๋ ๊ฒ์ ์ฝ์ต๋๋ค.
- capacity๊ฐ ๋ค ์ฐผ๋ค๋ฉด, ํ์ฌ ๋ชจ๋ ์์๋ค์ ์๋ก์ด ๊ณณ์ผ๋ก ์ฎ๊ธฐ๋, capacity๊ฐ ํ์ฌ ํฌ๊ธฐ +1์ด ์๋๋ผ ํ์ฌ์ ๋ ๋ฐฐ๊ฐ ๋๊ฒ ์ก์ต๋๋ค.
์ด๋ ๊ฒ ํ๋ฉด, move ํ๋ ์ฐ์ฐ์ด ๊ฐ๋์ฉ๋ง ์ผ์ด๋๊ธฐ ๋๋ฌธ์, ํ๊ท ์ ์ผ๋ก๋ ๋น ๋ฆ ๋๋ค. ์ด์ ๊ฐ์ด, ๋งค operation์ cost๋ฅผ ์๊ฐํ๋ ๋์ , ์ฌ๋ฌ operation์ cost๋ฅผ ๋ฌถ์ด์ ๊ทธ ํ๊ท ์ ๊ณ์ฐํ๋ ๋ฐฉ๋ฒ์ amortized analysis๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.
์ฃผ์ํ ์ ์, amortized analysis๋ average case์๋ ๋ค๋ฅด๋ค๋ ์ ์ ๋๋ค. ์๊ณ ๋ฆฌ์ฆ ๋ถ์์ ๋๋ถ๋ถ worst case๋ฅผ ๊ธฐ์ค์ผ๋ก ํ๋๋ฐ (์ต๊ทผ์๋ average case๋ ๋ง์ด ๋์ค๊ธด ํฉ๋๋ค), amortized worst case ๋ ์๊ฐํ ์ ์์ต๋๋ค. ํ๊ตญ์ด๋ก ์ด๋ฅผ ์์ฐ์ค๋ฝ๊ฒ ๋ฐ๊พธ์๋ฉด, โ์ต์ ์ ๊ฒฝ์ฐ์๋ ๊ฐ ์ฐ์ฐ์ ํ๊ท $O(1)$ ์ ์๋ํ๋คโ ์ ๋๋ค. โํ๊ท ์ ์ธ ๊ฒฝ์ฐ์ ํ๊ท $O(1)$โ ์ด๋, โํ๊ท ์ ์ธ ๊ฒฝ์ฐ์ ํ๋ฒ๋น $O(1)$โ ๊ณผ๋ ๋ค๋ฅธ ๋ง์ ๋๋ค.
Three frameworks
Amortized analysis๋ฅผ ํ๋ ๋ฐฉ๋ฒ์๋ ํฌ๊ฒ 3๊ฐ์ง๊ฐ ์์ต๋๋ค.
Aggregate Method
$n$๋ฒ์ ์ฐ์ฐ์ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ๋ชจ๋ ๋ํ ๋ค์, $n$์ผ๋ก ๋๋๋๋ค. ๊ฐ์ฅ ๋จ์ํ ๋ฐฉ๋ฒ์ ๋๋ค. ์ด๋ฅผ ์์ ์ ์ํ vector์ ์ ์ฉํด ๋ณด๊ฒ ์ต๋๋ค.
๋ฒกํฐ์ $n$๊ฐ์ ์์๋ฅผ ์ง์ด๋ฃ๋๋ค๊ณ ํ๊ฒ ์ต๋๋ค. $n = 2^k$ ์ผ ๋๋ $2^k$ ์ ์๊ฐ์ด ๋ค๊ณ , ๊ทธ ์ธ์๋ 1์ ์๊ฐ์ด ๋ ๋ค๊ณ ๊ฐ์ ํ๋ฉด, ์ ์ฒด ์๊ฐ์ \(T(n) = n + \sum_{k = 1}^{\log_2 n} 2^k\) ์ด๋ ๊ฒ ๋ ๊ฒ์ ๋๋ค. ๋ท๋ถ๋ถ์ $2^k$๋ค์ ํฉ์ ์ ๋ถ ์ทจํ๋ฉด $2n$ ์ดํ์์ ๋ฐ๋ก ์ ์ ์๊ณ , ์ด๋ ์ฆ $n$๋ฒ์ ์ฐ์ฐ์ด ์ดํฉ $3n$ ์ด์ ๊ฑธ๋ฆฌ์ง ์๋๋ค๋ ๊ฒ์ ๋๋ค. ๋ฐ๋ผ์ ๊ฐ๋ณ ์ฐ์ฐ์ ํ๊ท $O(1)$์ ๋๋ค.
Accounting Method
์ด๋ค ์ฐ์ฐ์ ์ค์ cost์๋ ๋ณ๊ฐ๋ก, ์ด ์ฐ์ฐ์ ๊ฐ๊ฒฉ์ ์กฐ๊ธ ๋๋ํ๊ฒ ํ ๋นํ ๋ค์, ๋น์ผ ์ฐ์ฐ์ ํ ๋ ์์ ์์ฌ๋์ (?) ์ฌ๋ถ์ ๊ฐ์ ธ๋ค ์ด๋ค๊ณ ์๊ฐํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
์ญ์ vector์ ์ ์ฉํด ๋ณด๊ฒ ์ต๋๋ค. $n$๊ฐ์ ์์๋ฅผ ์ง์ด๋ฃ๋๋ฐ, ๊ฐ๋น ๋ณดํต์ 1์ด ๋ค์ง๋ง ์ผ๋จ 3์ด ๋ ๋ค๊ณ ์๊ฐํ๊ฒ ์ต๋๋ค. Expansion ์งํ์ ๋จ์ credit์ ๊ณ ๋ คํ์ง ์๊ณ , ์ง๊ธ $2^k$๊ฐ์ ์์๊ฐ ๋ค์ด์๋ ํ ์ด๋ธ์ ์ถ๊ฐ๋ก $n$๊ฐ๋ฅผ ์ง์ด๋ฃ๋๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ด๋, ๊ฐ๋ณ ์ฐ์ฐ์ ๋๋ํ๊ฒ 3์ ์๊ฐ์ด ๋ ๋ค๊ณ ํ๋ฉด, $2n$์ด์น๊ฐ ๋จ์ต๋๋ค. ์์ธ์ ์ผ๋ก, $n$๊ฐ๋ฅผ ์ง์ด๋ฃ๋ค๊ฐ ์์๊ฐ $2^{k+1}$ ๊ฐ๊ฐ ๋๋ฉด ์ฐ์ฐ์ด ์ค์ ๋ก๋ $2^{k+1}$ ์๊ฐ์ด ๋ค๊ฒ ๋๋๋ฐ, ์ด๋ ์ฐ๋ฆฌ๊ฐ ๊ฐ์ ํ cost 3๋ณด๋ค ํฝ๋๋ค.
๊ทธ๋ฌ๋, ์ฌ๊ธฐ๊น์ง ์ค๋ ๊ธธ์ ์ฐ๋ฆฌ๋ ์ค์ ๋ก๋ 1๋งํผ์ด ๊ฑธ๋ฆฌ๋ ์ฐ์ฐ์ 3์ด๋ผ๊ณ ๋๋ํ๊ฒ ์ก์ผ๋ฉด์ $2^k$ ๊ฐ๋ฅผ ๋ฃ์ด ์์ต๋๋ค. ์ฆ $2^{k+1}$ ๋งํผ ์ฌ๋ถ์ credit์ด ๋จ์์ ๊ฒ์ ๋๋ค. ์ด๋ฅผ ์ด์ฉํ์ฌ ํ ์ด๋ธ ํ์ฅ์ ํ์ํ ์๊ฐ์ ์ง๋ถํ๋ค๊ณ ์๊ฐํ ์ ์์ต๋๋ค. ์ด์ ๊ฐ์ด ์ ๋นํ ์ฌ๋ถ์ ๋ ๋ค์ ์ด๋ฅผ ๋์ค์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ Accounting method๋ผ ํฉ๋๋ค.
์ด ๋ฐฉ๋ฒ์ ์ฝ๊ฐ ์ ๋งคํ๋ฐ, ์ฒ์์ 3์ด๋ผ๋ ์ ๋งคํ ์ซ์๋ฅผ ์ด๋ป๊ฒ ์ก์์ง๋ฅผ ์๋ ค๋ฉด ๋์ถฉ ํ๊ท ์ ์ธ ์ฐ์ฐ์ ๊ฐ๊ฒฉ์ ์ฐ์ ์ ์์ด์ผ ํฉ๋๋ค. ๊ทธ๋์ ์ฆ๋ช ํ๊ธฐ๋ ์ด๋ ต์ง ์์ง๋ง, ์ฒ์ ์์น๋ฅผ ์ ์ํ๋ ์กฐ๊ธโฆ๋ญ๋๊น์, ๋น์ ํ์ ์ ๋๋ค.
Potential Method
์ด ๊ธ์ ์ฐ๊ฒ ๋ ์ด์ ์ด์, amortized analysis์ ํต์ฌ์ ๋๋ค.
์ด ์๋ฃ๊ตฌ์กฐ์ ์ํ๋ฅผ ๋ํ๋ด๋ ์ด๋ค potential function $\phi(T)$ ๋ฅผ ์๊ฐํฉ๋๋ค. ์ฆ, ํ์ฌ ๋ฒกํฐ์ ์ํ๋ฅผ ์์น๋ก ํ์ฐํ๋ค๋ ๊ฒ์ ๋๋ค. ์ด๋, ๋ค์๊ณผ ๊ฐ์ ์กฐ๊ฑด์ ๋ง์กฑํ๊ณ ์ ํฉ๋๋ค.
- ์ด๊ธฐ ์ํ์ 0. ์ฆ, $\phi(T_0) = 0$
- ์ธ์ ๋ $\phi(T_i) \geq 0$. (์ฌ์ค 2๋ฒ ์กฐ๊ฑด์ ์กฐ๊ธ relaxํ ์ ์์ง๋ง, ์๋ฌดํผโฆ)
์ด์ , ๊ฐ ์ฐ์ฐ์ cost๊ฐ ๋ค ๋ฟ๋ง ์๋๋ผ, potential function์ ๋ณํ์ํฌ ๊ฒ์ ๋๋ค. $i$๋ฒ์งธ ์ฐ์ฐ์ด potential function์ ๋ณํ์ํค๋ ์์ $\Delta \phi _i $๋ผ ์ฐ๋ฉด, ๋ค์์ด ์ฑ๋ฆฝํฉ๋๋ค. \(\phi_n = \phi_0 + \Delta \phi_1 + \cdots \Delta \phi_{n}\) ์ด๋ค ์ฐ์ฐ์ amortized cost $c_i$๋ฅผ, ์ค์ cost $r_i$์ potential function ๋ณํ๋ $\Delta \phi_i$๋ฅผ ๋ํ ๊ฐ์ผ๋ก ์๊ฐํฉ๋๋ค. ์ฆ, $c_i = r_i + \Delta \phi_i$.
$c_i$์ ์ดํฉ๊ณผ $r_i$์ ์ดํฉ์ ๋น๊ตํ๋ฉดโฆ \(\sum c_i = \sum r_i + \sum \Delta \phi_i = \sum r_i + \phi_n - \phi_0 \geq \sum r_i\) ($\phi_n \geq \phi_0 = 0$ ์ด๋ฏ๋ก) ๋ฐ๋ผ์, $c_i$์ ํฉ์ ์ด๋ ์ดํ๋ก ๋ฐ์ด๋๋ฅผ ์ก์์ฃผ๋ฉด ์ด ๋ฐ์ด๋๊ฐ ์ค์ cost์ ํฉ์ bound๊ฐ ๋ฉ๋๋ค.
vector์ ์ ์ฉํด ๋ณด๊ฒ ์ต๋๋ค. vector์ potential์ ํ์ฌ ๋ค์ด์๋ ์์์ ๊ฐ์ $n_i$ ์ vector์ ํฌ๊ธฐ $s_i$์ ๋ํด, $2n_i - s_i$ ๋ก ์ ์ํ๊ธฐ๋ก ํ๊ฒ ์ต๋๋ค. ์ด๊ธฐ์ ๋ฒกํฐ์ ๋ค์ด์๋ ์์๊ฐ ์์๋ ์ฝ๊ฐ ์ ์๊ฐ ์ ๋งคํ๋ฐ, ์ด๊ธฐ์ size๋ฅผ 0์ผ๋ก ์ก์ผ๋ฉด ์ด potential function์ด ์ ์กฐ๊ฑด ๋๊ฐ๋ฅผ ๋ง์กฑํจ์ ์ ์ ์์ต๋๋ค.
- $r_i$๊ฐ size๋ฅผ ๋ณํ์ํค์ง ์๋ ์ฐ์ฐ์ด๋ผ๋ฉด, ์ค์ cost๊ฐ 1์ด๊ณ potential์ ๋ณํ๋ $s$๊ฐ ๊ทธ๋๋ก์ธ ์ฑ $n$์ด 1๋งํผ ์ฆ๊ฐํ์ฌ $\Delta \phi = 2$ ์ ๋๋ค.
- $r_i$๊ฐ size๋ฅผ ๋ณํ์ํจ๋ค๋ฉด, $n$์ 1๋งํผ ์ฆ๊ฐํ๋๋ฐ $s$๊ฐ 2๋ฐฐ๋ก ์ฆ๊ฐํฉ๋๋ค. ์ด์ ์ $s_{i-1} = n_{i-1}$ ์ด์์ ๊ฒ์ด๋ฏ๋ก, \((2n_i - s_i) - (2n_{i-1} - s_{i-1}) = (2n_{i-1} + 2 - 2s_{i-1}) - s_{i-1} = 2 - s_{i-1}\) ๋ฐ๋ผ์ $\Delta \phi$ ๋ $2 - s_{i-1}$ ์ ๋๋ค. ๊ทธ๋ฐ๋ฐ, ์ฎ๊ฒจ์ผ ํ๋ ์์๋ $s_{i-1}$ ๊ฐ์ด๊ณ , ์๋ก ์ถ๊ฐํ๋ 1๊ฐ๋ฅผ ๊ณ ๋ คํ๋ฉด ์ค์ cost๋ $1 + s_{i-1}$ ์ ๋๋ค. ๋ฐ๋ผ์ $c_i = 3$์ ๋๋ค.
์ด ๋ ๊ฒฝ์ฐ ๋ชจ๋ amortized cost๊ฐ $O(1)$ ์ด๋ฏ๋ก ์ ์ฒด๋ amortized $O(1)$ ์ ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก $c_i$์ ํฉ์ ๋ํด ๋ญ๊ฐ๋ฅผ ๋ ผ์ํ๋ ๊ฒ์ด ์ฝ๋๋ก $\phi$๋ฅผ ์ ์ก๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. ์ด ๊ฒฝ์ฐ๋ worst case์๋ ์ฐ์ฐ์ด ํ๊ฐ์ง๋ฐ์ ์์ด์ aggregate๋ก ์ฝ๊ฒ ํ ์ ์์ง๋ง, ์ฌ๊ธฐ์ delete๋ง ์ถ๊ฐํ๋๋ผ๋ aggregate๋ก๋ ๋ถ์ํ๊ธฐ๊ฐ ๊ต์ฅํ ์ด๋ ต์ต๋๋ค.
Dynamic table
๋ง์ฝ ์ vector์ pop๋ ์ง์ํด์ผ ํ๋ค๋ฉด ์ด๋จ๊น์? ์ฌ์ค pop์ ๋ง์ด ํ๋๋ผ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์นจ๋ฒํ์ง ์์์ ๊ทธ๋๋ก ํ๋๋ผ๋ ์๊ฐ ๋ณต์ก๋๋ ์ ์ง๋ฉ๋๋ค. ๊ทธ๋ฐ๋ฐ, 100๋ง๊ฐ๋ฅผ ๋ฃ์๋ค๊ฐ ๋ค์ 100๋ง๊ฐ๋ฅผ ๋บ๋๋ฐ vector๊ฐ ๊ทธ๋๋ก 100๋ง์นธ์ ๋จน๊ณ ์๋ ๊ฒ์ ๋ญ๊ฐ ๋ชจ์์๊ฐ ๋์ฉ๋๋ค. ์ด ๊ฒฝ์ฐ์๋ table์ ํฌ๊ธฐ์ ๋นํด ์ค์ ์์์ ๊ฐ์ - ์ด๋ฅผ load factor ๋ผ๊ณ ๋ถ๋ฆ ๋๋ค - ๊ฐ ๋๋ฌด ๋๋น ์, ๋ฉ๋ชจ๋ฆฌ ํจ์จ์ด ๋จ์ด์ง๋ ๊ฒฝ์ฐ์ ๋๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋, ์์์ ๊ฐ์๊ฐ 1/2 ์ดํ๊ฐ ๋๋ฉด ํ ์ด๋ธ ํฌ๊ธฐ๋ฅผ ๋ฐ์ผ๋ก ์ค์ด๋ ๋ฐฉ๋ฒ์ ๊ฐ์ฅ ๋จผ์ ์๊ฐํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ ๊ฒ ํ๋ฉด, ์์์ ๊ฐ์๋ฅผ 1/2๊ฐ ๊ทผ์ฒ๋ก ์ ์งํ๋ฉด์ push์ pop์ ๋ฐ๋ณตํ๋ฉด ํ ์ด๋ธ์ ์ถ์์ ํ๋๊ฐ ์ฌ๋ฌ๋ฒ ์ผ์ด๋๊ฒ ๋ง๋ค ์ ์๊ณ , ์ถ์/ํ๋๋ $O(n)$ ์ฐ์ฐ์ด๋ฏ๋ก ๋น์ผ ์ฐ์ฐ์ ๊ฐ๋์ฉ๋ง ํ๋ค๋ ์ฌ์ค์ ์ด์ฉํ๋ค ๋ amortized ์ ๊ฐ๋ ์ด ์ ์ฉ๋์ง ์์ต๋๋ค. ์ค์ ๋ก ์ด๋ฌ๋ฉด worst case amortized $O(n)$ ์ด ๋ฉ๋๋ค. (Amortized๋ average๋ฅผ ๋ด๊ธฐ๋ ํ์ง๋ง, average case (์ถ์/ํ๋๊ฐ ๋๋คํ๊ฒ ๋ฐ์) ๋ฅผ ๋ถ์ํ๋ ๊ฒ์ด ์๋๋ผ worst case์ average๋ ๋ถ์ํ ์ ์์์ ์ ๋ณด์ฌ์ฃผ๋ ์ฌ๋ก์ ๋๋ค)
Load factor๋ฅผ ์ ์ ํ ์ ์งํ๋ฉด์ amortized $O(1)$์ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์, load factor๋ฅผ ์ตํ 1/4๊น์ง ํ์ฉํ์ฌ, 1/4 ์ดํ๊ฐ ๋๋ฉด ํ ์ด๋ธ ํฌ๊ธฐ๋ฅผ ๋ฐ์ผ๋ก ์ค์ด๋ ๊ฒ์ ๋๋ค.
์ด ๋ฐฉ๋ฒ์ด amortized complexity $O(1)$ ์ ์ ์งํ๋ค๋ ๊ฒ์ aggregate ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ๋ณด์ด๋ ค๊ณ ํ๋ฉด ๋งค์ฐ ์ด๋ ต์ต๋๋ค. ์ด๋ค sequence๋ก ์ฐ์ฐ์ด ์ฃผ์ด์ง๋๋ผ๋ - ๋ผ๋ ๊ฐ๋ ์ ์ ์ฉํ๊ธฐ๊ฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋์ ์ potential function์ผ๋ก ๋ค์๊ณผ ๊ฐ์ ํจ์๋ฅผ ์๊ฐํ๋ฉด \(\phi = \max(2n_i - s_i, s_i/2 - n_i)\) ์ด๋ฅผ ์ ์ด์ฉํ์ฌ amortized cost๋ฅผ ๋ฐ์ด๋ํ ์ ์์ต๋๋ค. ์ ํจ์๋ load factor๊ฐ 1/2 ์ด์์ผ ๋์ ๋ฏธ๋ง์ผ ๋ ๊ตฌ๊ฐ์ ๋ฐ๋ผ ์ ์๋ ํจ์์ด๋ฏ๋ก, ์ด 8๊ฐ์ง ๊ฒฝ์ฐ๋ฅผ ๋ถ์ํด์ผ ํฉ๋๋ค.
- load factor 1/2 (์ด์, ์ดํ) ์ผ ๋ ์ด๋ฅผ ์ ์งํ๋ฉด์ ์ฝ์ /์ญ์ ํ๋ ๊ฒฝ์ฐ 4๊ฐ์ง
- load factor 1/2 ์ดํ์์ ์ด์์ผ๋ก, ์ด์์์ ์ดํ๋ก ๋์ด๊ฐ๋ ์ฝ์ ๊ณผ ์ญ์ 2๊ฐ์ง
- load factor 1/4 ์ด์์์ ์ดํ๋ก ๋จ์ด์ ธ์ ์ถ์๋ฅผ ์ํํ๋ ์ญ์
- load factor 1์์ ์ถ๊ฐ ์ฝ์ ์ผ๋ก ์ธํด ํ๋๋ฅผ ์ํํ๋ ์ฝ์ ์ ๋ง ํ๋์ฉ ๋ค ๋ถ์ํ๋ ๊ฒ์ด๋ฏ๋ก ์์ธํ ๊ณผ์ ์ ์๋ตํฉ๋๋ค.
Application
๋ณต์กํ ์ฐ์ฐ์ ๋ค์ํ๊ฒ ์ํํ๋ ์๋ฃ๊ตฌ์กฐ์์ ๋งค์ฐ ์ ์ฉํฉ๋๋ค.
- ํผ๋ณด๋์น ํ (์์ ์ ์ ๊ฐ ์ด ๊ธ๋ ์ฌ๊ธฐ ์์ต๋๋ค.) ์ ์ด์ฉํ์ฌ ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ์๊ฐ ๋ณต์ก๋๋ฅผ $O(V \log V)$ ๋ก ๋ด๋ฆฌ๊ธฐ
- Splay Tree ์ ๊ฐ์ ์๋ฃ๊ตฌ์กฐ์ ๋ณต์ก๋ ๋ถ์.