Inhaltsverzeichnis. Teil 1 Grundlagen 21. Teil 2 Datenstrukturen 85

Ähnliche Dokumente
Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Programmiertechnik II

Datenstrukturen & Algorithmen

Schulinterner Lehrplan für das Fach Informatik der Sekundarstufe II an der Bettine von Arnim Gesamtschule

Algorithmen & Datenstrukturen 1. Klausur

Name:... Vorname:... Matrikel-Nr.:... Unterschrift:...

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Algorithmen und Datenstrukturen

Einführung in die Informatik 1

System Modell Programm

Inhaltsverzeichnis. Danksagungen... 11

Beispiel zu Datenstrukturen

1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert

Suchen und Sortieren (Die klassischen Algorithmen)

Name: Seite 2. Beantworten Sie die Fragen in den Aufgaben 1 und 2 mit einer kurzen, prägnanten Antwort.

Tutorium Algorithmen & Datenstrukturen

Schulinternes Curriculum im Fach Informatik

Datenstrukturen. Mariano Zelke. Sommersemester 2012

Kapiteltests zum Leitprogramm Binäre Suchbäume

Programmieren I. Kapitel 7. Sortieren und Suchen

EndTermTest PROGALGO WS1516 A

Suchen und Sortieren Sortieren. Heaps

Sortierverfahren für Felder (Listen)

Wiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen

Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder

Folge 19 - Bäume Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Programmieren ++ Begleitende Übungen zu Veranstaltungen + Umsetzen des Algorithmus in ein lauffähiges Programm

Knasmüller.book Seite vii Mittwoch, 28. März : vii. Inhaltsverzeichnis

10. Kapitel (Teil1) BÄUME GRUNDLAGEN. Algorithmen & Datenstrukturen Prof. Dr. Wolfgang Schramm

Algorithmen und Datenstrukturen

Kapitel 5: Dynamisches Programmieren Gliederung

Schulcurriculum Informationstechnische Grundkenntnisse und Informatik Stand:

LISE MEITNER GYMNASIUM NEUENHAUS UELSEN

Kurze Inhaltsübersicht

Kapitel 11: Wiederholung und Zusammenfassung

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Divide-and-Conquer. Vorlesung 9: Quicksort (K7)

Freiherr-vom-Stein-Gymnasium Leverkusen Fachschaft Informatik Unterrichtsinhalte Informatik Qualifikationsphasen Q1 und Q2

Vorname:... Matrikel-Nr.:... Unterschrift:...

Informatik 11 Kapitel 2 - Rekursive Datenstrukturen

Datenstrukturen und Algorithmen

Suchbäume. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Datenstrukturen und Algorithmen

HINWEISE ZUR ADS-KLAUSUR SS06 für BACHELOR (für beide Termine)

Schulinterner Lehrplan zum Kernlehrplan für die Qualifikationsphase Informatik

Algorithmen und Datenstrukturen Suchbaum

Algorithmen und Datenstrukturen 1

Kapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete

Binärbäume. Prof. Dr. E. Ehses,

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

4 Algorithmen und Datenstrukturen

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 13. Bäume. Bäume

MATHEMATISCHE ANALYSE VON ALGORITHMEN

Graf-Engelbert-Schule

KONSTRUKTION VON ROT-SCHWARZ-BÄUMEN

Abstrakte Datentypen.

Informatik am GymSL - Schulinternes Curriculum. Fachbereich Informatik

AVL-Bäume Analyse. Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl:

Informatik mit Delphi

1. Grundlagen Sortieren Vertauschen Selektion Einfügen Quicksort Suchen...

Unterrichtsinhalte für den Grundkurs INFORMATIK (Oberstufe) Erstes Lernjahr (Einführungsphase EPh)

Datenstruktur, die viele Operationen dynamischer Mengen unterstützt

Vorgaben zu den unterrichtlichen Voraussetzungen für die schriftlichen Prüfungen im Abitur in der gymnasialen Oberstufe im Jahr 2010

2.1.1 Übersichtsraster Unterrichtsvorhaben. I) Einführungsphase. Einführungsphase. Unterrichtsvorhaben E-II. Unterrichtsvorhaben E-I

DATENSTRUKTUREN UND ZAHLENSYSTEME

Binäre Bäume Darstellung und Traversierung

Der linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v)

Schulinternes Curriculum Informatik. Sek. I und Sek. II

XML Verarbeitung mit einer in Haskell eingebetteten DSL. Manuel Ohlendorf (xi2079)

Unterrichtsvorhaben Q2- I:

Stefan Hougardy Jens Vygen. Algorithmische Mathematik

Kap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis

Zentralabitur 2017 Informatik

Moderne C-Programmierung

Institut für Informatik

Zentralabitur 2018 Informatik

9.4 Binäre Suchbäume. Xiaoyi Jiang Informatik II Datenstrukturen und Algorithmen

Sortierverfahren. Sortierverfahren für eindimensionale Arrays

Fragen für die Klausuren

Curriculum des Wahlfaches Informatik für das Gymnasium Dialog

Aufgabe 1: Eigenschaften von Algorithmen I

Algorithmen und Datenstrukturen Balancierte Suchbäume

HEUTE. Datenstrukturen im Computer. Datenstrukturen. Rekursion. Feedback Evaluation. abstrakte Datenstrukturen

Programmierung und Modellierung

Algorithmen. Suchalgorithmen

368 4 Algorithmen und Datenstrukturen

Abschnitt: Algorithmendesign und Laufzeitanalyse

Gymnasiale Oberstufe Saar (GOS) Lehrplan Informatik. G-Kurs (vierstündig) Juni 2010

Kapitel 6: Graphalgorithmen Gliederung

Ideen der Informatik Suchen und Sortieren [Ordnung muss sein ] Kurt Mehlhorn Adrian Neumann viele Folien von Kostas Panagiotou

Kap. 4.2: Binäre Suchbäume

Inhalte Informatik. I1 Grundprinzip des objektorientierten Modellierens I3 Modellieren von Netzwerkanwendungen

Das Turbo Pascal Lösungsbu

1 topologisches Sortieren

Schulinterner Lehrplan für die Qualifikationsphase der gymnasialen Oberstufe. Informatik

Informatik I. Lutz Donnerhacke PGP:db c1c 6311 ef09 d819 e029 65be bfb6 c9cb

Humboldt-Universität zu Berlin Institut Für Informatik. Standardalgorithmen. Sortierverfahren in Java insbesondere Bubblesort. Unterrichtsentwurf

Lösungsvorschläge. zu den Aufgaben im Kapitel 4

Vorkurs Informatik WiSe 15/16

Schulinternes Curriculum für Informatik (Q2) Stand April 2015

6-1 A. Schwill Grundlagen der Programmierung II SS 2005

Transkript:

Inhaltsverzeichnis Vorwort 13 Umfang 14 Einsatz als Unterrichtsmittel 14 Algorithmen mit Praxisbezug 15 Programmiersprache 16 Danksagung 17 Vorwort des Java-Beraters 18 Hinweise zu den Übungen 19 Teil 1 Grundlagen 21 Kapitel 1 Einführung 23 1.1 Algorithmen 24 1.2 Ein Beispielproblem: Vernetzung 26 1.3 Algorithmen zur Vereinigungs-Suche (Unionfind) 30 1.4 Ausblick 43 1.5 Themenüberblick 44 Kapitel 2 Prinzipien der Algorithmenanalyse 47 2.1 Implementierung und empirische Analyse 48 2.2 Analyse von Algorithmen 52 2.3 Wachstum von Funktionen 55 2.4 O-Notation 62 2.5 Grundlegende Rekurrenzen 67 2.6 Beispiele der Algorithmenanalyse 72 2.7 Garantien, Vorhersagen und Beschränkungen 78 Referenzen für Teil 1 83 Teil 2 Datenstrukturen 85 Kapitel 3 Elementare Datenstrukturen 87 3.1 Bausteine 88 3.2 Arrays (Felder) 100

8 Inhaltsverzeichnis 3.3 Verkettete Listen 108 3.4 Elementare Listenverarbeitung 115 3.5 Speicherzuordnung für Listen 126 3.6 Strings 130 3.7 Zusammengesetzte Datenstrukturen 135 Kapitel 4 Abstrakte Datentypen 145 4.1 Sammlungen von Elementen 153 4.2 Abstrakter Datentyp für einen Pushdown-Stack 155 4.3 Beispiele von Clients für den Stack-ADT 158 4.4 Implementierungen von Stack-ADTs 165 4.5 Generische Implementierungen 170 4.6 Einen neuen abstrakten Datentyp erstellen 174 4.7 FIFO-Warteschlangen und verallgemeinerte Warteschlangen181 4.8 Doppelte und indizierte Elemente 189 4.9 First-Class-ADTs 195 4.10 Anwendungsbasiertes ADT-Beispiel 205 4.11 Ausblick 211 Kapitel 5 Rekursion und Bäume 213 5.1 Rekursive Algorithmen 214 5.2 Teile und herrsche 222 5.3 Dynamisches Programmieren 236 5.4 Bäume 245 5.5 Mathematische Eigenschaften von Binärbäumen 254 5.6 Traversieren von Bäumen 259 5.7 Rekursive Algorithmen für Binärbäume 265 5.8 Traversieren von Graphen 271 5.9 Ausblick 278 Referenzen für Teil 2 279 Teil 3 Sortieren 281 Kapitel 6 Elementare Sortierverfahren 283 6.1 Spielregeln 284 6.2 Generische Sortierimplementierungen 290 6.3 Sortieren durch Auswählen 302 6.4 Sortieren durch Einfügen 304 6.5 Bubblesort 307 6.6 Leistungsdaten elementarer Sortierverfahren 309 6.7 Visualisierung von Algorithmen 315

Inhaltsverzeichnis 9 6.8 Shellsort 320 6.9 Sortieren verketteter Listen 329 6.10 Schlüsselindiziertes Zählen 332 Kapitel 7 Quicksort 337 7.1 Der Grundalgorithmus 338 7.2 Leistungsmerkmale von Quicksort 343 7.3 Stack-Größe 346 7.4 Kleine Teildateien 350 7.5 Zerlegen nach dem Median von drei Elementen 353 7.6 Doppelte Schlüssel 358 7.7 Strings und Vektoren 361 7.8 Auswählen 363 Kapitel 8 Mischen und Sortieren durch Mischen 369 8.1 Zweiwegmischen 370 8.2 Abstraktes In-situ-Mischen 372 8.3 Top-Down-Mergesort 374 8.4 Verbesserungen des grundlegenden Algorithmus 378 8.5 Bottom-Up-Mergesort 381 8.6 Leistungsmerkmale des Sortierens durch Mischen 385 8.7 Mergesort mit verketteten Listen implementieren 388 8.8 Rekursion unter einem anderen Blickwinkel 392 Kapitel 9 Prioritätswarteschlangen und Heapsort 395 9.1 Elementare Implementierungen 399 9.2 Die Datenstruktur Heap 403 9.3 Algorithmen für Heaps 406 9.4 Heapsort 414 9.5 Abstrakter Datentyp für Prioritätswarteschlangen 421 9.6 Prioritätswarteschlangen für Clientarrays 427 9.7 Binomialwarteschlangen 431 Kapitel 10 Radixsort 445 10.1 Bits, Bytes und Worte 447 10.2 Binärer Quicksort 451 10.3 MSD-Radixsort 456 10.4 Dreiweg-Radix-Quicksort 464 10.5 LSD-Radixsort 470 10.6 Leistungsdaten von Radixsort-Verfahren 474 10.7 Sortierverfahren mit sublinearer Zeit 477

10 Inhaltsverzeichnis Kapitel 11 Spezielle Sortierverfahren 483 11.1 Mergesort nach Batcher 484 11.2 Sortiernetzwerke 490 11.3 In-situ-Sortieren 500 11.4 Externes Sortieren 506 11.5 Implementierungen des Verfahrens Sortieren durch Mischen 513 11.6 Paralleles Sortieren durch Mischen 520 Referenzen für Teil 3 525 Teil 4 Suchen 527 Kapitel 12 Symboltabellen und binäre Suchbäume 529 12.1 Abstrakter Datentyp für Symboltabellen 531 12.2 Schlüsselindizierte Suche 539 12.3 Sequenzielle Suche 543 12.4 Binäre Suche 552 12.5 Indeximplementierungen mit Symboltabellen 557 12.6 Binäre Suchbäume 563 12.7 Leistungsmerkmale von binären Suchbäumen 571 12.8 Einfügen an der Wurzel in binären Suchbäumen 577 12.9 BST-Implementierungen von anderen ADT-Operationen 582 Kapitel 13 Ausgeglichene Bäume 593 13.1 Randomisierte binäre Suchbäume 596 13.2 Splay-BSTs 604 13.3 Top-Down-2-3-4-Bäume 611 13.4 Rot-Schwarz-Bäume 618 13.5 Skiplisten 629 13.6 Leistungsmerkmale 638 Kapitel 14 Hashing 643 14.1 Hashfunktionen 644 14.2 Direkte Verkettung 654 14.3 Lineares Sondieren 659 14.4 Doppeltes Hashing 665 14.5 Dynamische Hash-Tabellen 671 14.6 Ausblick 675

Inhaltsverzeichnis 11 Kapitel 15 Digitales Suchen 681 15.1 Digitale Suchbäume 683 15.2 Tries 688 15.3 Patricia-Tries 698 15.4 Mehrweg-Tries und ternäre Such-Tries 708 15.5 Algorithmen zur Textindizierung 728 Kapitel 16 Externes Suchen 733 16.1 Spielregeln 734 16.2 Indexsequenzieller Zugriff 737 16.3 B-Bäume 740 16.4 Erweiterbares Hashing 754 16.5 Ausblick 766 Referenzen für Teil 4 769 Anhang 771 Sachregister 775