\documentclass{bschlangaul-aufgabe}

\begin{document}
\bAufgabenMetadaten{
  Titel = {Aufgabe 5},
  Thematik = {Sondierfolgen für Hashing mit offener Adressierung},
  Referenz = 46115-2021-F.T1-TA2-A4,
  RelativerPfad = Examen/46115/2021/03/Thema-1/Teilaufgabe-2/Aufgabe-4.tex,
  ZitatSchluessel = examen:46115:2021:03,
  BearbeitungsStand = mit Lösung,
  Korrektheit = unbekannt,
  Ueberprueft = {unbekannt},
  Stichwoerter = {Streutabellen (Hashing)},
  EinzelpruefungsNr = 46115,
  Jahr = 2021,
  Monat = 03,
  ThemaNr = 1,
  TeilaufgabeNr = 2,
  AufgabeNr = 4,
}

Eine Sondierfolge s(k,i) liefert für einen Schlüssel k aus einem
Universum U und Versuchsnum- merni = 0,1,...,m-leine Folge von Indizes
für eine Hashtabelle $T[0\dots m-1]$. Mithilfe einer Son- dierfolge wird beim
Hashing mit offener Adressierung z. B. beim Einfügen eines neuen
Schlüssels k nach einem noch nicht benützten Tabelleneintrag gesucht.
Seien h und h’ zwei verschiedene Hash- funktionen, die U auf
{0,1,...,m—1} abbilden. Beantworten Sie die folgenden Fragen und geben
Sie an, um welche Art von Sondieren es sich jeweils handelt.
\index{Streutabellen (Hashing)}
\footcite{examen:46115:2021:03}

\begin{enumerate}
%%
% a)
%%

\item Was ist problematisch an der Sondierfolge $s(k,i) = (h(k) + 2i)
\mod m$, wobei $m = 1023$ die Größe der Hashtabelle ist?

\begin{bAntwort}
\begin{description}
\item[Art] Es handelt sich um lineares Sondieren.

\item[Problematisch] Es wird für einen großen Bereich an Sondierfolgen
(512 (0-511,512-1023)) nur in jeden zweiten Bucket (z. B. geradzahlig)
sondiert, erst dann wird in den bisher ausgelassenen Buckets (z. b.
ungeradzahlig) sondiert.
\end{description}
\end{bAntwort}

%%
% b)
%%

\item Was ist problematisch an der Sondierfolge $s(k,i) = (h(k) + i (i + 1))
\mod m$, wobei $m = 1024$ die Größe der Hashtabelle ist?

\begin{bAntwort}
\begin{description}
\item[Art] Es handelt sich um quadratisches Sondieren

\item[Problematisch] $i(i + 1)$ gibt immer eine gerade Zahl. Eine gerade
Zahl Modulo 1024 gibt auch immer eine grade Zahl. Es wird nie in den
ungeraden Buckets sondiert.
\end{description}
\end{bAntwort}

%%
% c)
%%

\item Was ist vorteilhaft an der Sondierfolge $s(k,i) = (h(k) + i \cdot
h'(k)) \mod m$, wobei $m$ die Größe der Hashtabelle ist?

\begin{bAntwort}
Auch die Sondierfolge ist abhängig von dem Schlüsselwert. Die Entstehung
von Ballungen ist unwahrscheinlicher bei gut gewählten Hashfunktionen,
eine gleichmäßige Verteilung wahrscheinlicher.
\end{bAntwort}

%%
% d)
%%

\item Sei $h(k) = k \mod 6$ und $h’(k) = k^2 \mod 6$

Fügen Sie die Schlüssel $14, 9, 8, 3, 2$ in eine Hashtabelle der Größe
$7$ ein. Verwenden Sie die Sondierfolge $s(k,i) = (h(k) + i \cdot h’(k))
\mod 7$ und offene Adressierung. Notieren Sie die Indizes der
Tabellenfelder und vermerken Sie neben jedem Feld die erfolglosen
Sondierungen.
\end{enumerate}
\end{document}
