1. Was ist eine Header – Datei? Was darf in einer Header-Datei ...
1. Was ist eine Header – Datei? Was darf in einer Header-Datei ...
1. Was ist eine Header – Datei? Was darf in einer Header-Datei ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Fragenkatalog Programmieren 2 Stand: Februar 2013<br />
Blauenst<strong>e<strong>in</strong>e</strong>r<br />
Der Nachteil der Feldimplementierung <strong>ist</strong> die starre Struktur, da explizite<br />
Verknüpfungen fehlen. Heaps bieten jedoch so viel Flexibilität, um effiziente<br />
Algorithmen für Prioritätsschlangen implementieren zu können.<br />
37.2. Methoden für Heaps:<br />
E<strong>in</strong>fügen <strong>e<strong>in</strong>e</strong>s neuen Elements: Um e<strong>in</strong> neues Element <strong>in</strong> den Heap e<strong>in</strong>zufügen,<br />
wird es an die nächste freie Position gestellt, also an die Stelle nach dem letzten<br />
E<strong>in</strong>trag. Dadurch wird höchst wahrsche<strong>in</strong>lich die Heapbed<strong>in</strong>gung verletzt. Der<br />
Heap muss neu sortiert werden.<br />
Traversieren über <strong>e<strong>in</strong>e</strong>n Heap <strong>ist</strong> trivial, da durch e<strong>in</strong>fache arithmetische<br />
Berechnungen der Nachfolger und auch der Vorgänger berechnet werden kann.<br />
Hauptsächlich werden die Level <strong>–</strong> Order- oder Preorder <strong>–</strong> Methode angewendet.<br />
Entfernen <strong>e<strong>in</strong>e</strong>s Elements: Es wird e<strong>in</strong> Trick angewandt. Das zu löschende Element<br />
wird mit dem letzten Element getauscht und dann dieses gelöscht. Dadurch wird<br />
e<strong>in</strong> aufreißen der Heapstruktur verh<strong>in</strong>dert und der Heap um e<strong>in</strong> Element verkürzt.<br />
Das bedeutet die Feldgröße wird um 1 verr<strong>in</strong>gert.<br />
Nach dem Löschen oder E<strong>in</strong>fügen <strong>e<strong>in</strong>e</strong>s neuen Elementes <strong>in</strong> den Heap, muss dieser wieder<br />
repariert werden. Zum Reparieren des Heaps gibt es die Funktionen UpHeap und<br />
DownHeap.<br />
37.2.<strong>1.</strong> UpHeap:<br />
Mit dieser Methode wird e<strong>in</strong> Heap repariert. Es wird am Ende des Heaps (ganz<br />
h<strong>in</strong>ten, am unteren Ende) begonnen. Die Funktion arbeitet von Unten nach Oben,<br />
daher auch der Name. Es wird verglichen, ob der Schlüssel des Vorgängers kl<strong>e<strong>in</strong>e</strong>r<br />
<strong>ist</strong>. Ist dies der Fall werden die Elemente getauscht. Das Element steigt somit im<br />
Heap h<strong>in</strong>auf. Diese Aktion wird solange wiederholt, bis der Heap durchsortiert und<br />
die Heapbed<strong>in</strong>gung erfüllt <strong>ist</strong>. Diese Methode wird beim E<strong>in</strong>fügen von neuen<br />
Elementen <strong>in</strong> <strong>e<strong>in</strong>e</strong>n Heap verwendet.<br />
37.2.2. DownHeap:<br />
Diese Methode arbeitet top down, also von Oben nach Unten. Dabei wird e<strong>in</strong><br />
Element mit s<strong>e<strong>in</strong>e</strong>m Nachfolger verglichen. Ist der Schlüssel von <strong>e<strong>in</strong>e</strong>m der beiden<br />
Nachfolger größer, so wird das Element mit s<strong>e<strong>in</strong>e</strong>m Nachfolger getauscht. S<strong>in</strong>d<br />
beide Nachfolger größer, so wird das Element mit dem Nachfolger, der den größten<br />
Schlüssel hat getauscht. Haben beide Nachfolger gleiche oder größere Schlüssel, so<br />
wird je nach Implementierung mit dem l<strong>in</strong>ken oder rechten Nachfolger getauscht.<br />
Diese Methode setzt <strong>e<strong>in</strong>e</strong>n korrekten Heap voraus, bis auf e<strong>in</strong> Element, welches<br />
richtig e<strong>in</strong>geordnet werden soll. Sie wird beim Löschen oder Ersetzten <strong>e<strong>in</strong>e</strong>s<br />
E<strong>in</strong>trages verwendet.<br />
38. Erklärung Hash:<br />
E<strong>in</strong> Hash eignet sich besonders gut zum effizienten Speichern und Suchen von Datensätzen.<br />
Das Verfahren beruht auf dem Pr<strong>in</strong>zip des Feldes, <strong>in</strong> welchem die Datensätze geeignet<br />
gespeichert und mittels <strong>e<strong>in</strong>e</strong>s generierten Index gesucht werden.<br />
17