07.11.2013 Aufrufe

InI I Algorithmen Datenstrukturen

InI I Algorithmen Datenstrukturen

InI I Algorithmen Datenstrukturen

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.

NTB Druckdatum: 31.03.13 <strong>InI</strong> I<br />

Rekursion („Selbstaufruf“)<br />

Lösungsmethoden<br />

iterativ schrittweise nacheinander<br />

rekursiv ineinander geschachtelt<br />

Prinzip der Rekursion<br />

Unterteile in Teilprobleme<br />

Löse Baum von unten<br />

Rekursiv definierte Folgen<br />

Rekursionsbasis (Anfangsbedingung)<br />

Rekursionsvorschrift (Folgeglieder)<br />

Grundstruktur (im Pseudocode)<br />

Programm Löse(Problem)<br />

BEGIN<br />

IF(Problem einfach) THEN<br />

Löse //Rekursionsbasis<br />

ELSE<br />

Unterteile //Rekursionsvorschrift<br />

Löse(Teilproblem)<br />

END<br />

END<br />

Nachteile erhöhter Speicherbedarf<br />

Permutationen {A, B, C} = ABC, ACB, BAC, BCA, …<br />

Backtracking (try and error / Versuch und Irrtum)<br />

Idee Eigenschaften Beispiele<br />

<br />

<br />

Suchen<br />

iterativ<br />

rekursiv<br />

vor und zurückgehen bis Lösung gefunden<br />

nach Versuch und Irrtum<br />

oft Rekursiv Labyrinth<br />

Springerproblem<br />

Damenproblem<br />

Internes Suchen<br />

Alle Daten passen in den Speicher<br />

Externes Suchen<br />

Auslagerung auf Datenbanken<br />

In Arrays und verketteten Listen<br />

Array (=Reihung)<br />

Listen<br />

unsortiert sortiert unsortiert sortiert<br />

linear linear binär (teile und herrsche) linear linear<br />

Suchen<br />

Zeitkomplexität<br />

Speicherkompl.<br />

Einfügen Zeitkomplexität<br />

Hashtable<br />

Ausgangslage: Objekte werden in einer Tabelle<br />

Idee: Mischung von Array + verketteter Liste<br />

anhand von Schlüsseln (key, K) abgelegt.<br />

Problem: Welche Datenstruktur??<br />

Schlüssel<br />

Index Element<br />

Array -> Grösse unbekannt<br />

Hash-Funktion<br />

Verkettete Liste -> langsam<br />

Lösung: Hashtable<br />

Hash-Tabelle<br />

1. Einfügen: Aus Schlüssel wir ein Index berechnet<br />

2. Solange an nächste Stelle gehen bis jene frei ist.<br />

Marcel Meschenmoser Dozent: Rolf Grun Seite 2 von 4

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!