%Teilweise Erzeugt mit dem LaTeX-Generator: http://latex.sehnot.de

%Schriftgröße, Layout, Papierformat, Art des Dokumentes
\documentclass[10pt,oneside,a4paper]{scrartcl}

%Einstellungen der Seitenränder
\usepackage[left=2cm,right=2cm,top=1.5cm,bottom=1.5cm,includeheadfoot]{geometry}

%neue Rechtschreibung
\usepackage[ngerman]{babel}

%Umlaute ermöglichen
\usepackage[utf8]{inputenc}

%Gesamtseitenzahl
\usepackage{lastpage}

% Kopf- und Fußzeile
\usepackage[automark]{scrpage2}

%Quellcode-Listings
\usepackage{listings}

%Hyperlinks
\usepackage{hyperref}

%Bilder
\usepackage{graphicx}
\usepackage{graphics}

\usepackage{setspace}
\usepackage{multicol}

% Schriftarten für fettes Monospace
%\usepackage[T1]{fontenc}
%\usepackage{lmodern}

%Kopfzeile
\ihead{Softwartechnik}
\chead{}
\ohead{http://kohnlehome.de/informatik/datenstrukturen.pdf}
\setheadsepline{0.5pt}

%Fußzeile
\setfootsepline{0.5pt}
\ifoot{\href{http://kohnlehome.de/}{Franz Kohnle}}
\cfoot{Seite \thepage\ von  \pageref{LastPage}}
\ofoot{\today}

\pagestyle{scrheadings}

\begin{document}

% Überschrift 
\begin{center}
\LARGE % Schriftgröße
\bfseries % Fettdruck
\sffamily % Serifenlose Schrift
Datenstrukturen
\end{center}

\section*{ADT (Abstract Data Type)}
Menge von Objekten zusammen mit einer Menge von Operationen auf diesen Objekten.\\
Was kann ich mit den Daten machen?\\

\renewcommand{\arraystretch}{1.4}
\begin{tabular}{p{4cm} | p{4cm} | l}
ADT & Methoden & Beschreibung \\ \hline \hline

Primitive Datentypen: \newline ganze Zahlen \newline Fliesskommazahlen \newline boolean \newline Text & Rechenoperatoren & \\ \hline \hline

Stack, Stapel, LIFO & push(e) \newline pop() & Zugriff auf \textbf{zuletzt} hinzugefügtes Element\\ \hline

Queue, Schlange, FIFO & enqueue(e) \newline dequeue() & Zugriff auf \textbf{zuerst} hinzugefügtes Element\\ \hline

Priority Queue & enqueue(e, priority) \newline dequeue() & Zugriff auf Element mit \textbf{höchster Priorität}\\ \hline \hline

List, Sequence & insert(i, e) \newline remove(i) \newline get(i) & geordnet, Zugriff über \textbf{Index}\\ \hline

Sorted List & insert(i, e) \newline remove(i) \newline get(i) & immer sortiert\\ \hline

Map, Dictionary, Associative Array & set(key, value) \newline delete(key) \newline get(key) & Zugriff nur über \textbf{key}\\ \hline

Set, Menge & add(e) \newline list() \newline delete(e) & ungeordnet, unique\\ \hline \hline

Graph & node (Knoten)\newline edge (Kante) & Kanten können gerichtet und gewichtet sein\\ \hline

Tree, Baum & root (Wurzel) \newline child (Kind) & Jedes Kind hat genau eine Mutter\\ \hline
\end{tabular}


\section*{Datenstruktur}
Konkrete Realiserung eines ADT mittels einer Programmiersprache.\\
Wie sind die Daten im Speicher organisiert?

\begin{itemize}
\item Array
\item Linked List
\item Double Linked List
\item Tree
\item Hash Table
\end{itemize}

\end{document}

