From a4817013b542cd6aa1a0cd955806c82ac337dca6 Mon Sep 17 00:00:00 2001 From: Nunigan Date: Wed, 28 Jul 2021 22:27:27 +0200 Subject: added corrections from prof mueller --- buch/papers/multiplikation/problemstellung.tex | 27 +++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) (limited to 'buch/papers/multiplikation/problemstellung.tex') diff --git a/buch/papers/multiplikation/problemstellung.tex b/buch/papers/multiplikation/problemstellung.tex index b20a791..fed6a9f 100755 --- a/buch/papers/multiplikation/problemstellung.tex +++ b/buch/papers/multiplikation/problemstellung.tex @@ -6,24 +6,24 @@ \section{Problemstellung} \rhead{Problemstellung} Dank der breiten Anwendung der Matrizenmultiplikation ist eine effiziente L\"osung dieser Operation von grosser Bedeutung. -Das Ziel dieses Papers ist verschiedenen Algorithmen der Matrizenmultiplikation vorzustellen. -Wobei gezielt auf Algorithmen, welche das Problem schneller als der Standard Algorithmus L\"osen eingegangen wird. +Das Ziel dieses Papers ist, verschiedenen Algorithmen der Matrizenmultiplikation vorzustellen. +Gezielt werden auf Algorithmen, welche das Problem schneller als der Standard Algorithmus L\"osen eingegangen. \subsection{Big $\mathcal{O}$ Notation} Die Big $\mathcal{O}$ Notation beschreibt die Laufzeitkomplexit\"at eines Algorithmus \cite{multiplikation:bigo}. -$f(x) \in \mathcal{O}(g(x))$ besagt das die Funktion $f$ nicht wesentlich schneller w\"achst als $g$ wenn $x \rightarrow \infty$. +$f(x) \in \mathcal{O}(g(x))$ besagt, dass die Funktion $f$ nicht wesentlich schneller w\"achst als $g$ wenn $x \rightarrow \infty$. Vereinfacht werden f\"ur Algorithmen die folgende Notation verwendet: \begin{itemize} \item $f \in \mathcal{O}(1) \rightarrow f$ ist beschr\"ankt \item $f \in \mathcal{O}(n) \rightarrow f$ w\"achst linear - \item $f \in \mathcal{O}(n^2) \rightarrow f$ w\"achst quadratisch + \item $f \in \mathcal{O}\left (n^2 \right ) \rightarrow f$ w\"achst quadratisch \item $f \in \mathcal{O}(\log n) \rightarrow f$ w\"achst logarithmisch \item $f \in \mathcal{O}(n \log n) \rightarrow f$ hat super-lineares Wachstum - \item $f \in \mathcal{O}(e^n) \rightarrow f$ w\"achst exponentiell + \item $f \in \mathcal{O}\left (e^n \right ) \rightarrow f$ w\"achst exponentiell \item usw. \end{itemize} -In der Abbildung \ref{multiplikation:fig:bigo} k\"onnen die Verschiedenen Laufzeiten miteinander verglichen werden. +In der Abbildung \ref{multiplikation:fig:bigo} k\"onnen die verschiedenen Laufzeiten miteinander verglichen werden. \begin{figure} \center @@ -33,9 +33,11 @@ In der Abbildung \ref{multiplikation:fig:bigo} k\"onnen die Verschiedenen Laufze \end{figure} \subsubsection{Beispiel Algorithmen} + +Folgend einige Beispiele von Algorithmen welche zu einer bestimmten Zeitkomplexit\"atsklassen geh\"oren. \paragraph{Beschr\"ankter Algorithmus} -Ein Beispiel eines Beschr\"ankter Verhalten $\mathcal{O}(1)$, kann im Algorithmus \ref{multiplikation:alg:b1} entnommen werden. +Ein Beispiel eines Beschr\"ankter Verhalten $\mathcal{O}(1)$, kann im Algorithmus \ref{multiplikation:alg:b1} entnommen werden. Da $a$ und $b$ Skalare sind, hat keine Gr\"osse $n$ einen einfluss auf die Laufzeit. \begin{algorithm}\caption{} \label{multiplikation:alg:b1} @@ -47,7 +49,7 @@ Ein Beispiel eines Beschr\"ankter Verhalten $\mathcal{O}(1)$, kann im Algorithmu \end{algorithmic} \end{algorithm} -Wobei Konstanten nicht beachtet werden, der Algorithmus \ref{multiplikation:alg:b2} f\"uhrt ebenso zu $\mathcal{O}(1)$ und nicht zu $\mathcal{O}(2)$. +Konstanten werden nicht beachtet, der Algorithmus \ref{multiplikation:alg:b2} f\"uhrt ebenso zu $\mathcal{O}(1)$ und nicht zu $\mathcal{O}(2)$. \begin{algorithm}\caption{} \label{multiplikation:alg:b2} @@ -63,13 +65,14 @@ Wobei Konstanten nicht beachtet werden, der Algorithmus \ref{multiplikation:alg: \paragraph{Linearer Algorithmus} -Folgender Algorithmus \ref{multiplikation:alg:l1} hat ein lineares $\mathcal{O}(n)$ Verhalten. +Folgender Algorithmus \ref{multiplikation:alg:l1} hat ein lineares Verhalten. +Die \texttt{for}-Schleife wird $n$-mal durchgef\"hrt und f\"uhrt deshalb zu $\mathcal{O}(n)$. \begin{algorithm}\caption{} \setlength{\lineskip}{7pt} \begin{algorithmic} \label{multiplikation:alg:l1} - \Function{L}{$\mathbf{A}, \mathbf{B}$,n} + \Function{L}{$\mathbf{a}, \mathbf{b}$,n} \State $ sum \gets 0$ \For{$i = 0,1,2 \dots,n$} \State $ sum \gets sum + A[i] \cdot B[i] $ @@ -83,7 +86,9 @@ Folgender Algorithmus \ref{multiplikation:alg:l1} hat ein lineares $\mathcal{O}( \paragraph{Quadratischer Algorithmus} -Folgender Algorithmus \ref{multiplikation:alg:q1} hat ein quadratisches $\mathcal{O}(n^2)$ Verhalten. +Folgender Algorithmus \ref{multiplikation:alg:q1} hat ein quadratisches Verhalten. +Die beiden \texttt{for}-Schleifen werden jeweils $n$-mal durchgef\"hrt und f\"uhrt deshalb zu $\mathcal{O}\left(n^2\right)$. + \begin{algorithm}[H]\caption{} \label{multiplikation:alg:q1} -- cgit v1.2.1 From 31b66acba16f525d41c42094601ade8afb3fd549 Mon Sep 17 00:00:00 2001 From: Nunigan Date: Sat, 31 Jul 2021 21:36:30 +0200 Subject: updare --- buch/papers/multiplikation/problemstellung.tex | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'buch/papers/multiplikation/problemstellung.tex') diff --git a/buch/papers/multiplikation/problemstellung.tex b/buch/papers/multiplikation/problemstellung.tex index fed6a9f..2688f27 100755 --- a/buch/papers/multiplikation/problemstellung.tex +++ b/buch/papers/multiplikation/problemstellung.tex @@ -34,7 +34,7 @@ In der Abbildung \ref{multiplikation:fig:bigo} k\"onnen die verschiedenen Laufze \subsubsection{Beispiel Algorithmen} -Folgend einige Beispiele von Algorithmen welche zu einer bestimmten Zeitkomplexit\"atsklassen geh\"oren. +Folgend einige Beispiele von Algorithmen welche zu einer bestimmten Zeitkomplexit\"atsklasse zugeteilt werden kann. \paragraph{Beschr\"ankter Algorithmus} Ein Beispiel eines Beschr\"ankter Verhalten $\mathcal{O}(1)$, kann im Algorithmus \ref{multiplikation:alg:b1} entnommen werden. Da $a$ und $b$ Skalare sind, hat keine Gr\"osse $n$ einen einfluss auf die Laufzeit. @@ -66,7 +66,7 @@ Konstanten werden nicht beachtet, der Algorithmus \ref{multiplikation:alg:b2} f\ \paragraph{Linearer Algorithmus} Folgender Algorithmus \ref{multiplikation:alg:l1} hat ein lineares Verhalten. -Die \texttt{for}-Schleife wird $n$-mal durchgef\"hrt und f\"uhrt deshalb zu $\mathcal{O}(n)$. +Die \texttt{for}-Schleife wird $n$-mal durchlaufen und f\"uhrt deshalb zu $\mathcal{O}(n)$. \begin{algorithm}\caption{} \setlength{\lineskip}{7pt} @@ -87,7 +87,7 @@ Die \texttt{for}-Schleife wird $n$-mal durchgef\"hrt und f\"uhrt deshalb zu $\ma \paragraph{Quadratischer Algorithmus} Folgender Algorithmus \ref{multiplikation:alg:q1} hat ein quadratisches Verhalten. -Die beiden \texttt{for}-Schleifen werden jeweils $n$-mal durchgef\"hrt und f\"uhrt deshalb zu $\mathcal{O}\left(n^2\right)$. +Die beiden \texttt{for}-Schleifen werden jeweils $n$-mal durchglaufen und f\"uhrt deshalb zu $\mathcal{O}\left(n^2\right)$. \begin{algorithm}[H]\caption{} -- cgit v1.2.1 From 1663dd03e22b2ee65a8050f5eb5433c7580028b5 Mon Sep 17 00:00:00 2001 From: Nunigan Date: Wed, 4 Aug 2021 16:14:15 +0200 Subject: update multiplikation --- buch/papers/multiplikation/problemstellung.tex | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'buch/papers/multiplikation/problemstellung.tex') diff --git a/buch/papers/multiplikation/problemstellung.tex b/buch/papers/multiplikation/problemstellung.tex index 2688f27..cd5aaaa 100755 --- a/buch/papers/multiplikation/problemstellung.tex +++ b/buch/papers/multiplikation/problemstellung.tex @@ -34,12 +34,12 @@ In der Abbildung \ref{multiplikation:fig:bigo} k\"onnen die verschiedenen Laufze \subsubsection{Beispiel Algorithmen} -Folgend einige Beispiele von Algorithmen welche zu einer bestimmten Zeitkomplexit\"atsklasse zugeteilt werden kann. +Folgend einige Beispiele von Algorithmen welche zu einer bestimmten Zeitkomplexit\"atsklasse zugeteilt werden k\"onnen. \paragraph{Beschr\"ankter Algorithmus} Ein Beispiel eines Beschr\"ankter Verhalten $\mathcal{O}(1)$, kann im Algorithmus \ref{multiplikation:alg:b1} entnommen werden. Da $a$ und $b$ Skalare sind, hat keine Gr\"osse $n$ einen einfluss auf die Laufzeit. -\begin{algorithm}\caption{} +\begin{algorithm}\footnotesize\caption{} \label{multiplikation:alg:b1} \setlength{\lineskip}{7pt} \begin{algorithmic} @@ -51,7 +51,8 @@ Ein Beispiel eines Beschr\"ankter Verhalten $\mathcal{O}(1)$, kann im Algorithmu Konstanten werden nicht beachtet, der Algorithmus \ref{multiplikation:alg:b2} f\"uhrt ebenso zu $\mathcal{O}(1)$ und nicht zu $\mathcal{O}(2)$. -\begin{algorithm}\caption{} + +\begin{algorithm}\footnotesize\caption{} \label{multiplikation:alg:b2} \setlength{\lineskip}{7pt} \begin{algorithmic} @@ -68,7 +69,7 @@ Konstanten werden nicht beachtet, der Algorithmus \ref{multiplikation:alg:b2} f\ Folgender Algorithmus \ref{multiplikation:alg:l1} hat ein lineares Verhalten. Die \texttt{for}-Schleife wird $n$-mal durchlaufen und f\"uhrt deshalb zu $\mathcal{O}(n)$. -\begin{algorithm}\caption{} +\begin{algorithm}\footnotesize\caption{} \setlength{\lineskip}{7pt} \begin{algorithmic} \label{multiplikation:alg:l1} @@ -90,7 +91,7 @@ Folgender Algorithmus \ref{multiplikation:alg:q1} hat ein quadratisches Verhalte Die beiden \texttt{for}-Schleifen werden jeweils $n$-mal durchglaufen und f\"uhrt deshalb zu $\mathcal{O}\left(n^2\right)$. -\begin{algorithm}[H]\caption{} +\begin{algorithm}[H]\footnotesize\caption{} \label{multiplikation:alg:q1} \setlength{\lineskip}{7pt} \begin{algorithmic} -- cgit v1.2.1 From e948351c11835cb6a19abe394ffb61219884b96a Mon Sep 17 00:00:00 2001 From: Nunigan Date: Thu, 5 Aug 2021 18:04:32 +0200 Subject: update paper --- buch/papers/multiplikation/problemstellung.tex | 135 ++++++++++++++----------- 1 file changed, 74 insertions(+), 61 deletions(-) (limited to 'buch/papers/multiplikation/problemstellung.tex') diff --git a/buch/papers/multiplikation/problemstellung.tex b/buch/papers/multiplikation/problemstellung.tex index cd5aaaa..c6fd10e 100755 --- a/buch/papers/multiplikation/problemstellung.tex +++ b/buch/papers/multiplikation/problemstellung.tex @@ -5,13 +5,15 @@ % \section{Problemstellung} \rhead{Problemstellung} -Dank der breiten Anwendung der Matrizenmultiplikation ist eine effiziente L\"osung dieser Operation von grosser Bedeutung. +Wegen der breiten Anwendung der Matrizenmultiplikation ist eine effiziente L\"osung dieser Operation von grosser Bedeutung. Das Ziel dieses Papers ist, verschiedenen Algorithmen der Matrizenmultiplikation vorzustellen. -Gezielt werden auf Algorithmen, welche das Problem schneller als der Standard Algorithmus L\"osen eingegangen. +Gezielt wird auf Algorithmen eingegange, welche das Problem schneller als der Standard Algorithmus l\"osen. \subsection{Big $\mathcal{O}$ Notation} -Die Big $\mathcal{O}$ Notation beschreibt die Laufzeitkomplexit\"at eines Algorithmus \cite{multiplikation:bigo}. +\label{muliplikation:sec:bigo} +Die Big $\mathcal{O}$ Notation beschreibt die Laufzeitkomplexit\"at eines Algorithmus in Abhänigkeit zur Inputgrösse \cite{multiplikation:bigo}. $f(x) \in \mathcal{O}(g(x))$ besagt, dass die Funktion $f$ nicht wesentlich schneller w\"achst als $g$ wenn $x \rightarrow \infty$. +Als Beispiel: benötigt eine Funktion $g$, $\mathcal{O}\left(n+n^2 \right)$ Multiplikationen so wächst $f$ mit $\mathcal{O}\left(n^2 \right)$ nicht wesentlich schneller als $g$. Vereinfacht werden f\"ur Algorithmen die folgende Notation verwendet: \begin{itemize} \item $f \in \mathcal{O}(1) \rightarrow f$ ist beschr\"ankt @@ -23,7 +25,7 @@ Vereinfacht werden f\"ur Algorithmen die folgende Notation verwendet: \item usw. \end{itemize} -In der Abbildung \ref{multiplikation:fig:bigo} k\"onnen die verschiedenen Laufzeiten miteinander verglichen werden. +In der Abbildung \ref{multiplikation:fig:bigo} k\"onnen die verschiedenen Laufzeiten miteinander verglichen werden. \begin{figure} \center @@ -34,77 +36,88 @@ In der Abbildung \ref{multiplikation:fig:bigo} k\"onnen die verschiedenen Laufze \subsubsection{Beispiel Algorithmen} -Folgend einige Beispiele von Algorithmen welche zu einer bestimmten Zeitkomplexit\"atsklasse zugeteilt werden k\"onnen. +Es folgen einige Beispiele von Algorithmen welche zu einer bestimmten Zeitkomplexit\"atsklasse zugeteilt werden k\"onnen. + +\begin{minipage}{0.4\textwidth} + \begin{algorithm}[H]\footnotesize\caption{} + \label{multiplikation:alg:b1} + \setlength{\lineskip}{7pt} + \begin{algorithmic} + \Function{B1}{$a, b$} + \State \textbf{return} $a+b$ + \EndFunction + \end{algorithmic} + \end{algorithm} + + \begin{algorithm}[H]\footnotesize\caption{} + \setlength{\lineskip}{7pt} + \begin{algorithmic} + \label{multiplikation:alg:linear} + \Function{L}{$\mathbf{a}, \mathbf{b}$,n} + \State $ sum \gets 0$ + \For{$i = 0,1,2 \dots,n$} + \State $ sum \gets sum + A[i] \cdot B[i] $ + \EndFor + + \State \textbf{return} $sum$ + + \EndFunction + \end{algorithmic} + \end{algorithm} +\end{minipage} +\hspace{2cm} +\begin{minipage}{0.4\textwidth} + + \begin{algorithm}[H]\footnotesize\caption{} + \label{multiplikation:alg:b2} + \setlength{\lineskip}{7pt} + \begin{algorithmic} + \Function{B2}{$a, b$} + \State $ x \gets a+b $ + \State $ y \gets a \cdot b $ + \State \textbf{return} $x+y$ + \EndFunction + \end{algorithmic} + \end{algorithm} + + + \begin{algorithm}[H]\footnotesize\caption{} + \label{multiplikation:alg:q1} + \setlength{\lineskip}{7pt} + \begin{algorithmic} + \Function{Q}{$\mathbf{A}, \mathbf{B}$,n} + \State $ sum \gets 0$ + \For{$i = 0,1,2 \dots,n$} + \For{$j = 0,1,2 \dots,n$} + \State $ sum \gets sum + A[i] \cdot B[j] $ + \EndFor + \EndFor + \State \textbf{return} $sum$ + \EndFunction + \end{algorithmic} + \end{algorithm} + +\end{minipage} + \paragraph{Beschr\"ankter Algorithmus} Ein Beispiel eines Beschr\"ankter Verhalten $\mathcal{O}(1)$, kann im Algorithmus \ref{multiplikation:alg:b1} entnommen werden. Da $a$ und $b$ Skalare sind, hat keine Gr\"osse $n$ einen einfluss auf die Laufzeit. -\begin{algorithm}\footnotesize\caption{} - \label{multiplikation:alg:b1} - \setlength{\lineskip}{7pt} - \begin{algorithmic} - \Function{B1}{$a, b$} - \State \textbf{return} $a+b$ - \EndFunction - \end{algorithmic} -\end{algorithm} + Konstanten werden nicht beachtet, der Algorithmus \ref{multiplikation:alg:b2} f\"uhrt ebenso zu $\mathcal{O}(1)$ und nicht zu $\mathcal{O}(2)$. -\begin{algorithm}\footnotesize\caption{} - \label{multiplikation:alg:b2} - \setlength{\lineskip}{7pt} - \begin{algorithmic} - \Function{B2}{$a, b$} - \State $ x \gets a+b $ - \State $ y \gets a \cdot b $ - \State \textbf{return} $x+y$ - \EndFunction - \end{algorithmic} -\end{algorithm} + \paragraph{Linearer Algorithmus} -Folgender Algorithmus \ref{multiplikation:alg:l1} hat ein lineares Verhalten. +Der Algorithmus \ref{multiplikation:alg:linear} hat ein lineares Verhalten. Die \texttt{for}-Schleife wird $n$-mal durchlaufen und f\"uhrt deshalb zu $\mathcal{O}(n)$. -\begin{algorithm}\footnotesize\caption{} - \setlength{\lineskip}{7pt} - \begin{algorithmic} - \label{multiplikation:alg:l1} - \Function{L}{$\mathbf{a}, \mathbf{b}$,n} - \State $ sum \gets 0$ - \For{$i = 0,1,2 \dots,n$} - \State $ sum \gets sum + A[i] \cdot B[i] $ - \EndFor - - \State \textbf{return} $sum$ - - \EndFunction - \end{algorithmic} -\end{algorithm} + \paragraph{Quadratischer Algorithmus} -Folgender Algorithmus \ref{multiplikation:alg:q1} hat ein quadratisches Verhalten. +Der Algorithmus \ref{multiplikation:alg:q1} hat ein quadratisches Verhalten. Die beiden \texttt{for}-Schleifen werden jeweils $n$-mal durchglaufen und f\"uhrt deshalb zu $\mathcal{O}\left(n^2\right)$. - - -\begin{algorithm}[H]\footnotesize\caption{} - \label{multiplikation:alg:q1} - \setlength{\lineskip}{7pt} - \begin{algorithmic} - \Function{Q}{$\mathbf{A}, \mathbf{B}$,n} - \State $ sum \gets 0$ - \For{$i = 0,1,2 \dots,n$} - \For{$j = 0,1,2 \dots,n$} - \State $ sum \gets sum + A[i] \cdot B[j] $ - \EndFor - \EndFor - \State \textbf{return} $sum$ - \EndFunction - \end{algorithmic} -\end{algorithm} - - -- cgit v1.2.1 From 872595e81de60c85b18408f8de5a49c535518edc Mon Sep 17 00:00:00 2001 From: Nunigan Date: Fri, 6 Aug 2021 17:37:58 +0200 Subject: update multiplikation --- buch/papers/multiplikation/problemstellung.tex | 33 +++++++++++++------------- 1 file changed, 16 insertions(+), 17 deletions(-) (limited to 'buch/papers/multiplikation/problemstellung.tex') diff --git a/buch/papers/multiplikation/problemstellung.tex b/buch/papers/multiplikation/problemstellung.tex index c6fd10e..e53b0de 100755 --- a/buch/papers/multiplikation/problemstellung.tex +++ b/buch/papers/multiplikation/problemstellung.tex @@ -7,13 +7,14 @@ \rhead{Problemstellung} Wegen der breiten Anwendung der Matrizenmultiplikation ist eine effiziente L\"osung dieser Operation von grosser Bedeutung. Das Ziel dieses Papers ist, verschiedenen Algorithmen der Matrizenmultiplikation vorzustellen. -Gezielt wird auf Algorithmen eingegange, welche das Problem schneller als der Standard Algorithmus l\"osen. +Gezielt wird auf Algorithmen eingegangen, welche das Problem schneller als der Standard Algorithmus l\"osen. \subsection{Big $\mathcal{O}$ Notation} \label{muliplikation:sec:bigo} -Die Big $\mathcal{O}$ Notation beschreibt die Laufzeitkomplexit\"at eines Algorithmus in Abhänigkeit zur Inputgrösse \cite{multiplikation:bigo}. +Die Big $\mathcal{O}$ Notation beschreibt die Laufzeitkomplexit\"at eines Algorithmus in Abhängigkeit zur Inputgrösse \cite{multiplikation:bigo}. $f(x) \in \mathcal{O}(g(x))$ besagt, dass die Funktion $f$ nicht wesentlich schneller w\"achst als $g$ wenn $x \rightarrow \infty$. -Als Beispiel: benötigt eine Funktion $g$, $\mathcal{O}\left(n+n^2 \right)$ Multiplikationen so wächst $f$ mit $\mathcal{O}\left(n^2 \right)$ nicht wesentlich schneller als $g$. +% Es gibt eine Konstante $K$ derart, dass $f(x) \le K g(x)$ für $x\to\infty$ +Als Beispiel: benötigt eine Funktion $g$ $\mathcal{O}\left(n^2 \right)$ Multiplikationen, so wächst $f$ mit $\mathcal{O}\left(n+ n^2 \right)$ nicht wesentlich schneller falls $x\to\infty$. Vereinfacht werden f\"ur Algorithmen die folgende Notation verwendet: \begin{itemize} \item $f \in \mathcal{O}(1) \rightarrow f$ ist beschr\"ankt @@ -26,13 +27,9 @@ Vereinfacht werden f\"ur Algorithmen die folgende Notation verwendet: \end{itemize} In der Abbildung \ref{multiplikation:fig:bigo} k\"onnen die verschiedenen Laufzeiten miteinander verglichen werden. +Bei einer logarithmischen Darstellung werden Polynome der Form $f(x) = x^k$ als Gerade und Exponentialfunktionen der Form $f(x) = a^x$ als nach oben gekr\"ummte Kurven dargestellt. +Sch\"on zu erkennen ist, dass Logarithmische Kurven beschr\"ankt sind. -\begin{figure} - \center - \includegraphics[]{papers/multiplikation/images/bigo} - \caption{Verschiedene Laufzeiten} - \label{multiplikation:fig:bigo} -\end{figure} \subsubsection{Beispiel Algorithmen} @@ -101,23 +98,25 @@ Es folgen einige Beispiele von Algorithmen welche zu einer bestimmten Zeitkomple \paragraph{Beschr\"ankter Algorithmus} -Ein Beispiel eines Beschr\"ankter Verhalten $\mathcal{O}(1)$, kann im Algorithmus \ref{multiplikation:alg:b1} entnommen werden. Da $a$ und $b$ Skalare sind, hat keine Gr\"osse $n$ einen einfluss auf die Laufzeit. - - +Ein Beispiel eines Beschr\"ankter Verhalten $\mathcal{O}(1)$, kann im Algorithmus \ref{multiplikation:alg:b1} entnommen werden. Da $a$ und $b$ Skalare sind, hat keine Gr\"osse $n$ einen Einfluss auf die Laufzeit. Konstanten werden nicht beachtet, der Algorithmus \ref{multiplikation:alg:b2} f\"uhrt ebenso zu $\mathcal{O}(1)$ und nicht zu $\mathcal{O}(2)$. - - \paragraph{Linearer Algorithmus} Der Algorithmus \ref{multiplikation:alg:linear} hat ein lineares Verhalten. Die \texttt{for}-Schleife wird $n$-mal durchlaufen und f\"uhrt deshalb zu $\mathcal{O}(n)$. - - \paragraph{Quadratischer Algorithmus} Der Algorithmus \ref{multiplikation:alg:q1} hat ein quadratisches Verhalten. -Die beiden \texttt{for}-Schleifen werden jeweils $n$-mal durchglaufen und f\"uhrt deshalb zu $\mathcal{O}\left(n^2\right)$. +Die beiden \texttt{for}-Schleifen werden jeweils $n$-mal durchlaufen und f\"uhrt deshalb zu $\mathcal{O}\left(n^2\right)$. + + +\begin{figure} + \center + \includegraphics[]{papers/multiplikation/images/bigo} + \caption{Verschiedene Laufzeiten} + \label{multiplikation:fig:bigo} +\end{figure} -- cgit v1.2.1