update ana, add ipi7

This commit is contained in:
2019-12-11 02:14:21 +01:00
parent ddc563b6ea
commit ff4bce70e2
9 changed files with 352 additions and 8 deletions
+31 -1
View File
@@ -5,7 +5,7 @@
\begin{document}
\begin{aufgabe}
\begin{aufgabe} LIFO vs. FIFO
\begin{enumerate}
\item Kunden in einer Bäckerei
@@ -18,6 +18,9 @@
FIFO: Die ältesten Lebensmittel müssen als erstes verbraucht werden.
\item Autos auf einer Autofähre
Def. (Autofähre). Eine Fähre mit einer Auffahrt und einer Ausfahrt, jedes Auto
befährt die Fähre nur vorwärts.
FIFO: Das erste Auto steht ganz vorne auf der Fähre und verlässt diese als erstes
auf der anderen Seite.
\item Druckanträge auf einen Drucker
@@ -34,6 +37,33 @@
\end{aufgabe}
\begin{aufgabe}
Hase und Igel
\begin{enumerate}[a)]
\item Wenn kein Zyklus vorliegt, wird einer \textit{Hase} zuerst auf Null zeigen.
Falls der Zeiger des \textit{Hasen} aber den \textit{Igel} überrundet, muss ein
Zyklus vorliegen, Das wird dann erkannt, wenn \textit{Hase} und \textit{Igel} zum
gleichen Zeitpunkt auf das selbe Element zeigen. Der Abstand von \textit{Hase} zu
\textit{Igel} wird dabei immer kleiner, sodass dies in endlicher Zeit erreicht wird.
Die Länge des Zyklus wird erkannt durch die Differenz der Schrittzahlen, des ersten
Aufeinandertreffens und dem zweiten.
\item siehe \textit{haseigel.cpp}
\end{enumerate}
\end{aufgabe}
\begin{aufgabe}
Warteschlangen
\begin{enumerate}[a)]
\item siehe \textit{queue\_einfach.cpp}
\item siehe \textit{queue.cpp}
\item Die Version der einfach verketteten Liste braucht ca. 2550 mal so lang, wie die zweite. Dies liegt
an der Komplexität O(n) des Hinzufügens eines Elements für
eine einfach verkettete Liste, da hier durch die ganze Liste iteriert werden muss, um das letzte
Element zu finden. Bei einer doppelt verketteten Liste liegt eine Komplexität
von O(1) vor, da hier direkt auf das letzte Element zugegriffen werden kann.
Das Entfernen am Listenanfang ist immer eine O(1) Operation, weil hier direkt in beiden
Fällen der Pointer auf das erste Element verwendet werden kann.
\end{enumerate}
\end{aufgabe}