diff --git a/docs/folien/analyse.tex b/docs/folien/analyse.tex
index b1ec6f9..a9b18a9 100644
--- a/docs/folien/analyse.tex
+++ b/docs/folien/analyse.tex
@@ -6,29 +6,18 @@
\begin{itemize}
\item Datenstruktur für Wortliste
\item Paralleler Such-Algorithmus
- \item Abgeleitet: Optimierung der Such-Zeit
+ \item Abgeleitet: Optimierung der Laufzeit
\end{itemize}
\end{frame}
\begin{frame}{Analyse}
- {\Large Abgeleitete Aufgabenstellung}
+ {\Large Umsetzung}
\vspace{0.5cm}
- \begin{minipage}{0.7\textwidth}
- Aufteilung in zwei Blöcke:
- \begin{block}{Anwendungs-Schicht (Layer 5 - 7)}
- \begin{itemize}
- \item Request/Reponse
- \item Konkurrierender Zugriff
- \item Session Handling
- \end{itemize}
- \end{block}
- \begin{block}{Transport-Schicht (Layer 1 - 4)}
- \begin{itemize}
- \item Datenübertragung zwischen SG
- \item Gleichzeitige Kommunikation
- \end{itemize}
- \end{block}
- \end{minipage}
+ \begin{itemize}
+ \item Zwei Phasen: Einlesen und Suchen
+ \item Such-Phase zeitkritischer als Einlese-Phase
+ \item Locks minimieren
+ \end{itemize}
\end{frame}
diff --git a/docs/folien/bucket_finder.png b/docs/folien/bucket_finder.png
new file mode 100644
index 0000000..a45c931
Binary files /dev/null and b/docs/folien/bucket_finder.png differ
diff --git a/docs/folien/classes.png b/docs/folien/classes.png
new file mode 100644
index 0000000..7c092e2
Binary files /dev/null and b/docs/folien/classes.png differ
diff --git a/docs/folien/datenstruktur.tex b/docs/folien/datenstruktur.tex
new file mode 100644
index 0000000..079ff0f
--- /dev/null
+++ b/docs/folien/datenstruktur.tex
@@ -0,0 +1,23 @@
+\begin{frame}{Datenstrukturen}
+
+ {\Large Architektur}
+ \vspace{0.5cm}
+
+ \begin{itemize}
+ \item Flacher Suchbaum
+ \item Ebene 1: Ein Knoten je Thread
+ \item Ebene 2: Ein Blatt je erster Wort-Buchstabe
+ \item Blätter tragen Wort-Listen
+ \end{itemize}
+\end{frame}
+
+\begin{frame}{Datenstrukturen - Implementierung}
+ \begin{figure}
+ \includegraphics[width=\textwidth]{bucket_finder}
+ \end{figure}
+ \begin{itemize}
+ \item buckets: Erste Baum-Ebene, nach Threads
+ \item Bucket: Zweite Baum-Ebene, nach erstem Buchstaben
+ \item WordRefList: Wort-Liste am Blatt
+ \end{itemize}
+\end{frame}
diff --git a/docs/folien/einlesen.tex b/docs/folien/einlesen.tex
new file mode 100644
index 0000000..41ded9f
--- /dev/null
+++ b/docs/folien/einlesen.tex
@@ -0,0 +1,18 @@
+\begin{frame}[t]{Einfügen von Daten}
+ \vspace{1cm}
+ \begin{figure}
+ \onslide*<1>{
+ \includegraphics[width=\textwidth]{insert_1}
+ \caption*{Eingabedaten}
+ }
+ \onslide*<2>{
+ \includegraphics[width=\textwidth]{insert_3}
+ \caption*{Aufteilen in Buckets}
+ }
+ \onslide*<3>{
+ \includegraphics[width=\textwidth]{insert_4}
+ \caption*{Mapping nach erstem Buchstaben}
+ }
+ \end{figure}
+\end{frame}
+
diff --git a/docs/folien/folien.tex b/docs/folien/folien.tex
index 509a45a..77f7e3e 100644
--- a/docs/folien/folien.tex
+++ b/docs/folien/folien.tex
@@ -5,7 +5,7 @@
\usepackage[sfdefault]{noto}
\usepackage[T1]{fontenc}
-\usepackage{tikz}
+\usepackage{caption}
\usepackage{fontawesome}
\definecolor{vector_red}{RGB}{183, 0, 50}
@@ -46,6 +46,15 @@
\include{aufgabe}
\include{analyse}
+
+\include{datenstruktur}
+
+\include{einlesen}
+\include{suchen}
+\include{komplexität}
+
+\include{inkrementell_suchen}
+
\include{danke}
\end{document}
diff --git a/docs/folien/inkrementell_suchen.tex b/docs/folien/inkrementell_suchen.tex
new file mode 100644
index 0000000..b4d585c
--- /dev/null
+++ b/docs/folien/inkrementell_suchen.tex
@@ -0,0 +1,9 @@
+\begin{frame}{Inkrementelle Suche}
+ \begin{itemize}
+ \item Such-Phase noch zeitkritischer
+ \item Such-Ergebnis als gefiltertes Such-Objekt
+ \item UI: dynamisch gefüllte Combo-Box
+ \item Asynchrone und ggf. verzögerte Updates
+ \end{itemize}
+\end{frame}
+
diff --git a/docs/folien/komplexität.tex b/docs/folien/komplexität.tex
new file mode 100644
index 0000000..7494fed
--- /dev/null
+++ b/docs/folien/komplexität.tex
@@ -0,0 +1,22 @@
+\begin{frame}{Komplexitäts-Abschätzung}
+
+ BucketFinder
+
+ \begin{itemize}
+ \item Suchraum einfügen: O(n) mit $ n = |Suchraum| $
+ \item Pattern suchen: O(n) mit $ n = \frac{|Suchraum|}{|Threads| \times |Alphabet|} $
+ \item Laufzeit: deutlich schnelleres Einfügen und schelleres Finden von größeren Ergebnismengen
+ \end{itemize}
+
+ \vspace{0.5cm}
+
+ Balancierter Baum
+
+ \begin{itemize}
+ \item Suchraum einfügen: O(n log n)
+ \item Pattern suchen: O(log n)
+ \item Laufzeit: deutlich schneller beim Finden kleinerer Ergebnismengen
+ \end{itemize}
+
+
+\end{frame}
diff --git a/docs/folien/search.png b/docs/folien/search.png
new file mode 100644
index 0000000..1eaa670
Binary files /dev/null and b/docs/folien/search.png differ
diff --git a/docs/folien/suchen.tex b/docs/folien/suchen.tex
new file mode 100644
index 0000000..6c14fa9
--- /dev/null
+++ b/docs/folien/suchen.tex
@@ -0,0 +1,10 @@
+\begin{frame}[t]{Suchen von Wörtern}
+ \begin{figure}
+ \onslide*<1>{
+ \includegraphics[width=\textwidth]{search}
+ \caption*{Suche nach "BB"}
+ }
+ \end{figure}
+\end{frame}
+
+
diff --git a/docs/folien/word_list.png b/docs/folien/word_list.png
new file mode 100644
index 0000000..b406c53
Binary files /dev/null and b/docs/folien/word_list.png differ
diff --git a/docs/folien/word_lists.png b/docs/folien/word_lists.png
new file mode 100644
index 0000000..3a693e1
Binary files /dev/null and b/docs/folien/word_lists.png differ
diff --git a/docs/folien/word_ref_list.png b/docs/folien/word_ref_list.png
new file mode 100644
index 0000000..aa06e03
Binary files /dev/null and b/docs/folien/word_ref_list.png differ
diff --git a/docs/input.svg b/docs/input.svg
index 662ad6c..e31b743 100644
--- a/docs/input.svg
+++ b/docs/input.svg
@@ -25,14 +25,14 @@
inkscape:document-units="mm"
showgrid="true"
inkscape:zoom="1.353504"
- inkscape:cx="358.69862"
- inkscape:cy="352.78803"
+ inkscape:cx="364.23979"
+ inkscape:cy="739.19252"
inkscape:window-width="1916"
inkscape:window-height="1196"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
- inkscape:current-layer="layer1">
+ inkscape:current-layer="g27-5">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
YUAA
+
+
+
+ EZGA
+
+
+
+ BBPR
+
+
+
+ EPWE
+
+
+
+ AGTK
+
+
+
+ CCDC
+
+
+
+ APUX
+
+
+
+ BBZA
+
+
+
+ MNPP
+
+
+
+ QLAN
+
+
+
+ BHAN
+
+
+
+ OZTT
+
+
+
+ YUAA
+
YUAA
-
-
-
-
- EZGA
-
-
-
- BBPR
-
-
-
- EPWE
-
-
-
- AGTK
-
-
-
- CCDC
-
-
-
- APUX
-
-
-
- BBZA
-
-
-
- MNPP
-
-
-
- QLAN
-
-
-
- BHAN
-
-
-
- OZTT
-
-
-
- YUAA
-
-
Bucket 1
+ id="tspan14"
+ x="75.944023"
+ y="83.714684">Bucket 1
Bucket 2
+ id="tspan15"
+ x="120.65272"
+ y="83.714684">Bucket 2
M
+ id="tspan23"
+ x="148.57208"
+ y="114.88702">M
O
+ id="tspan22"
+ x="148.57208"
+ y="120.88717">O
Y
+ id="tspan21"
+ x="148.58342"
+ y="126.89824">Y
Bucket 2
+ id="tspan24"
+ x="120.36988"
+ y="142.47693">Bucket 2
B
+ id="tspan17"
+ x="103.57209"
+ y="114.88702">B
Q
+ id="tspan18"
+ x="103.57209"
+ y="120.88717">Q
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EZGA
+
+
+
+ B
+
+
+ BBPR
+
+ BB
+
+ BB
+
+ BB
+
+ BB
+
+ BB
+
+
+
+
+
+
+
+ EPWE
+
+ AGTK
+
+ CCDC
+
+ APUX
+
+ BBZA
+
+ MNPP
+
+ QLAN
+
+ BHAN
+
+ OZTT
+
+ YUAA
+ Bucket 0
+ A
+
+
+
+
+
+ E
+
+
+
+
+
+
+
+
+ Bucket 1
+ A
+
+
+
+
+
+ C
+
+
+
+
+
+
+
+
+
+
+ Bucket 3
+ M
+
+
+
+
+ O
+
+
+
+
+
+ Y
+
+
+
+
+
+
+
+
+
+
+ Bucket 2
+ B
+
+
+
+
+ Q
+
+
+
+
+
+