blob: 944b3b99c72d61f38e55f4222ef707f181f37c07 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
\documentclass{standalone}
\usepackage[ngerman]{babel}
\usepackage{amsmath}
\usepackage[most]{tcolorbox}
\usetikzlibrary{decorations.pathmorphing}
\tikzset{decoration={random steps, segment length=5mm, amplitude=0.6pt}}
\usepackage{xcolor}
\newcommand{\revealtexton}[3]{#1}
\newtcolorbox{pseudocode}{
coltitle=white,
colbacktitle=gray!30!black,
colframe=gray!30!black,
enhanced,
title=\bfseries {\large P}SEUDOCODE,
attach boxed title to top right={yshift=-0.28cm, xshift=-5mm},
frame code={
\draw[decorate, draw=gray!30!black] (frame.north east) rectangle (frame.south west);
},
}
\newcommand\textvtt[1]{{\normalfont\fontfamily{cmvtt}\selectfont #1}}
\usepackage{changepage}
\begin{document}
\begin{pseudocode}
\textvtt{Weise allen Knoten die beiden Eigenschaften „Distanz“ und „Vorgänger“ zu.}
\vspace{0.1cm}
\textvtt{Initialisiere die Distanz des Startknoten mit \revealtexton{0}{1}{2} und die der anderen Knoten mit \revealtexton{$\infty$.}{2}{3}}
\vspace{0.1cm}
\textvtt{Füge den Startknoten der Warteschlange hinzu.}
\vspace{0.1cm}
\textvtt{Solange die Warteschlange nicht leer ist ...}
\vspace{0.1cm}
\begin{adjustwidth}{0.5cm}{}
\textvtt{Nimm den Knoten mit \revealtexton{minimaler}{3}{4} (aufsummierter) Distanz aus der Warteschlange.}
\vspace{0.1cm}
\textvtt{Markiere diesen Knoten.}
\vspace{0.1cm}
\textvtt{Berechne für alle \revealtexton{unmarkierten}{4}{5} Nachbarn die Gesamtdistanz des Pfades zum Startknoten ($\text{Kantengewicht} + \text{Distanz des aktuellen Knotens}$) und füge sie der Warteschlange hinzu.}
\vspace{0.1cm}
\textvtt{Ist dieser Wert kleiner als die für diesen Nachbarn gespeicherte Distanz, aktualisiere sie und speichere den \revealtexton{aktuellen Knoten}{5}{6} als Vorgänger.}
\end{adjustwidth}
\end{pseudocode}
\end{document}
|