Skip to content
Snippets Groups Projects
Commit 463a86ff authored by Florian Unger's avatar Florian Unger
Browse files

typos

parent 8b4f7038
No related branches found
No related tags found
No related merge requests found
...@@ -121,10 +121,10 @@ Damit kommen wir bei genauerer Betrachtung auf einen amortisierten Aufwand von $ ...@@ -121,10 +121,10 @@ Damit kommen wir bei genauerer Betrachtung auf einen amortisierten Aufwand von $
Im Unterschied zur average-case-Analyse haben wir bei einer amortisierten Analyse also \emph{garantiert}, dass $k$ subsequente Operationen nicht jedes Im Unterschied zur average-case-Analyse haben wir bei einer amortisierten Analyse also \emph{garantiert}, dass $k$ subsequente Operationen nicht jedes
mal im worst case landen. mal im worst case landen.
\begin{definition}[Amortisierte Laufzeit] \begin{definition}[Amortisierte Laufzeit]
Seien $o_1, o_2, \dots$ endlich viele verschiedene Funktionen. Der \emph{amortisierte} Aufwand von Funktionenfolgen Seien $o_1, o_2, \dots$ endlich viele verschiedene Operationen. Der \emph{amortisierte} Aufwand von Operationenfolgen
$f_\bullet \in \{o_1, o_2, \dots\}^\mathbb{N}$ der Länge $n$ wird definiert als: $f_\bullet \in \{o_1, o_2, \dots\}^\mathbb{N}$ der Länge $n$ wird definiert als:
\[ \[
T_{\text{amo}}(n) = \frac{\max(\{\sum_{i=1}^n f_i | f_\bullet \in \{o_1, o_2, \dots\}^\mathbb{N})}{n}. T_{\text{amo}}(n) = \frac{\max(\{\sum_{i=1}^n T(f_i) | f_\bullet \in \{o_1, o_2, \dots\}^\mathbb{N})}{n}.
\] \]
\end{definition} \end{definition}
...@@ -216,9 +216,10 @@ Umstrukturierung: ...@@ -216,9 +216,10 @@ Umstrukturierung:
\end{lemma} \end{lemma}
\begin{proof} \begin{proof}
Wir beobachten zuerst: Direkt nach einer Umstrukturierung, als zu Beginn von Zeitpunkt $i+1$ gilt: Wir beobachten zuerst: Direkt nach einer Umstrukturierung, als zu Beginn von Zeitpunkt $i+1$ gilt:
\[ \begin{align}
n_{i+1} = \frac{n_\text{cap}}{2}. n_{i+1} = \frac{n_\text{cap}}{2}.
\] \label{eq:post_resizing}
\end{align}
Nun gibt es zwei Fälle für die Umstrukturierung zum Zeitpunkt $j$: Nun gibt es zwei Fälle für die Umstrukturierung zum Zeitpunkt $j$:
Fall 1: Die Umstrukturierung ist eine Erweiterung, es ist also $f_j$ gleich $\texttt{add}$.\\ Fall 1: Die Umstrukturierung ist eine Erweiterung, es ist also $f_j$ gleich $\texttt{add}$.\\
...@@ -253,13 +254,13 @@ Damit können wir zeigen, dass das dynamische Array einen amortisierten Aufwand ...@@ -253,13 +254,13 @@ Damit können wir zeigen, dass das dynamische Array einen amortisierten Aufwand
vorherigen Lemma klar: Ist $K_0 = 0$ und damit nicht negativ, bleibt $K_i \leq 0$ für alle $i \in \mathbb{N}$. vorherigen Lemma klar: Ist $K_0 = 0$ und damit nicht negativ, bleibt $K_i \leq 0$ für alle $i \in \mathbb{N}$.
Da die tatsächliche Laufzeit $T(f_i) = a_i$, haben wir also Da die tatsächliche Laufzeit $T(f_i) = a_i$, haben wir also
\[ \[
T\left(\sum_{i=1}^n f_i \right) = \sum_{i=1}^n a_i \leq \sum_{i=1}^n e_i \leq 3n. \sum_{i=1}^n T(f_i) = \sum_{i=1}^n a_i \leq \sum_{i=1}^n e_i \leq 3n.
\] \]
Das gilt für alle möglichen Operationenfolgen, also auch für die zeitaufwendigste. Das gilt für alle möglichen Operationenfolgen, also auch für die zeitaufwendigste.
Nach Definition ist damit ist Laufzeit pro Operation Nach Definition ist damit ist Laufzeit pro Operation
\[ \[
T_{\text{amo}}(n) = \frac{\max(\{\sum_{i=1}^n f_i | f_\bullet \in \{\texttt{add}, \texttt{delete}\}^\mathbb{N})}{n} T_{\text{amo}}(n) = \frac{\max(\{\sum_{i=1}^n T(f_i) | f_\bullet \in \{\texttt{add}, \texttt{delete}\}^\mathbb{N})}{n}
\leq \frac{3n}{n} = 3 \in \mathcal{O}(1). \leq \frac{3n}{n} = 3 \in \mathcal{O}(1).
\] \]
\end{proof} \end{proof}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment