mirror of
https://github.com/MartinThoma/LaTeX-examples.git
synced 2025-04-26 06:48:04 +02:00
Misc; E-Mail von Moritz
This commit is contained in:
parent
9c0864f122
commit
0508de3f6a
14 changed files with 122 additions and 16 deletions
|
@ -1,3 +1,4 @@
|
|||
%!TEX root = Programmierparadigmen.tex
|
||||
\chapter{Prolog}
|
||||
\index{Prolog|(}
|
||||
|
||||
|
@ -111,6 +112,44 @@ Weitere nützliche Standard-Listenprädikate sind:\xindex{sort(+List, -Sorted)@\
|
|||
|
||||
\underline{Hinweis}: \texttt{sort} entfernt Duplikate, \texttt{msort} hingegen nicht.
|
||||
|
||||
Eine Liste kann mit \texttt{rev/2}\xindex{rev/2@\texttt{rev/2}} umgedreht werden:
|
||||
\inputminted[numbersep=5pt, tabsize=4]{prolog}{scripts/prolog/reverse-list.pl}
|
||||
|
||||
\subsection{Bäume}
|
||||
Bäume können in Prolog wie folgt erstellt werden:
|
||||
|
||||
\inputminted[numbersep=5pt, tabsize=4]{prolog}{scripts/prolog/binary-tree-example.pl}
|
||||
|
||||
\begin{figure}[htp]
|
||||
\centering
|
||||
\input{figures/binary-tree.tex}
|
||||
\caption{Binärbaum \texttt{T2}}
|
||||
\label{fig:binary-tree-t2}
|
||||
\end{figure}
|
||||
|
||||
Dabei ist
|
||||
\begin{itemize}
|
||||
\item \texttt{T0} der einzelne Knoten \texttt{a},
|
||||
\item \texttt{T1} der Baum, der \texttt{a} als Wurzel und \texttt{b} und
|
||||
\texttt{c} als Kinder hat,
|
||||
\item \texttt{T2} ist in \cref{fig:binary-tree-t2} dargestellt und
|
||||
\item \texttt{T3} ist der leere Baum.
|
||||
\end{itemize}
|
||||
|
||||
Die folgenden Prädikate stammen von \url{https://sites.google.com/site/prologsite/prolog-problems/4}:
|
||||
|
||||
\subsection{Binärbaum-Check}
|
||||
Das folgende Prädikate \texttt{istree/1} überprüft, ob es sich bei dem Parameter
|
||||
um einen Binärbaum handelt:
|
||||
|
||||
\inputminted[numbersep=5pt, tabsize=4]{prolog}{scripts/prolog/istree.pl}
|
||||
|
||||
\subsection{Balancierte Binärbaumkonstruktion}
|
||||
Das folgende Prädikate \texttt{cbal\_tree(n, T)} erstellt einen balancierten
|
||||
Binärbaum mit \texttt{n} Knoten in \texttt{T}:
|
||||
|
||||
\inputminted[numbersep=5pt, tabsize=4]{prolog}{scripts/prolog/balancedtreeconstruction.pl}
|
||||
|
||||
\section{Beispiele}
|
||||
\subsection{Humans}
|
||||
Erstelle folgende Datei:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue