1
Introduction to Programming – Lecture 13
1 Chair of Software Engineering
Einführung in die Programmierung
Bertrand Meyer
Letzte Bearbeitung 1. Dezember 2003
Introduction to Programming – Lecture 13
2 Chair of Software Engineering
Vorlesung 13: Container-Datenstrukturen
Introduction to Programming – Lecture 13
3 Chair of Software Engineering
Themen für diese Vorlesung
Container und Genericity Statische Typisierung Leistung von Algorithmen beurteilen: Big-Oh- Notation Verkettete Listen Arrays
Introduction to Programming – Lecture 13
4 Chair of Software Engineering
Container-Datenstrukturen
Enthalten andere Objekte (“items”) Beispiel: Eine Metroline ist — unter anderem — ein Container von Haltestellen Mögliche Operationen auf einem Container: Ein Item einfügen Herausfinden, ob ein Element enthalten ist Ein Element entfernen Die Struktur “traversieren” um eine Operation auf jedes Item anzuwenden Viele Arten: Listen (inkl. “linked list”, “doubly- linked lists”), zirkuläre Listen, Arrays, Stacks, Queues, Priority-Queues, Hashtabellen...
Introduction to Programming – Lecture 13
5 Chair of Software Engineering
Ein Grundproblem von Containern
Wie behandeln wir Varianten einer Container- Klasse, die sich nur durch den Typ ihrer Items unterscheiden? Metrolinie: Liste von Haltestellen Route: Liste von Segmenten Telefonliste: Liste von Verzeichniseinträgen Agenda: Liste von Verabredungen ...
Introduction to Programming – Lecture 13
6 Chair of Software Engineering