\(
\def\cO{\mathcal{O}}
\def\cH{\mathcal{H}}
\def\cU{\mathcal{U}}
\def\LCP{\mathrm{LCP}}
\def\reals{\mathbb{R}}
\)
TDS spravuje posloupnost prvků s operací
přidání prvku s I/O složitostí $\cO((\log\log N)^{2+ε})$
a sekvenčním čtením $K$ prvků se složitostí $\cO(K/B + B^ε)$.
Celý popis viz
původní článek.
Paměť je hierarchicky členěna na widgety.
Widget typu $W_l$ má $(1+1/(\log\log l)^{1+ε})⋅l^{1-α}$ podwidgetů typu $W_{l^α}$,
kde $0 \lt α \lt 1$ a $ε\gt 0$ jsou konstantní parametry datové struktury.
Každý widget obsahuje souvislou podposloupnost uložených prvků, pořadí podwidgetů je libovolné.
Na nejnižší úrovni jsou widgety typu $W_{l_0}$ pro $l_0 = (\log\log N)^2$,
které obsahují maximálně $2l_0$ prvků.
Vedle toho má každý widget jen hlavičku konstantní velikosti.
Lemma 1 z článku: Widget typu $W_l$ má velikost $Θ(l)$.
Nechť $S(l)$ je velikost widgetu typu $W_l$.
Na nejnižší úrovni má widget velikost $S(l_0) = \cO((\log\log N)^2)$;
jejich počet je větší než počet všech ostatních widgetů,
takže můžeme na této úrovni započítat i velikosti všech hlaviček.
Pro vyšší úrovně pak máme:
\[
S(l) = (1+1/(\log\log l)^{1+ε})⋅l^{1-α}⋅S(l^α)).
\]
Index $l$ v typech widgetů roste s každou vyšší úrovní umocněním na $1/α$.
Nechť $k$ je počet úrovní mezi $W_{l_0}$ a $W_l$;
pak platí, že $l = l_0^{α^{-k}}$ a tedy $k=\log_{1/α}\log_{l_0} l$.
Rekurenci rozepíšeme následovně:
\[
S(l) =
\cO\left(l_0
\prod_{i=1}^k
\left(1+1/\left(\log\log l_0^{α^{-i}}\right)^{1+ε}\right)⋅l_0^{(1-α)α^{-i}} \right) =
\]
\[
=\cO\left(
l_0^{1+
\sum_{i=1}^k
(1-α)α^{-i}
} ⋅
e^{
\sum_{i=1}^k
1/\left(\log\log l_0 + i⋅\log(1/α)\right)^{1+ε}
}
\right) =
\]
\[
=\cO\left(
l_0^{α^{-k}} ⋅
e^{\cO\left(
\sum_{i=1}^{\infty}
1/i^{1+ε}\right)
}
\right) =
\cO\left(
l ⋅
e^{\cO(1)}
\right) =
\cO(l)
\]