13.10.2013 Aufrufe

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 ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!