Schlange und Stapel.

Slides:



Advertisements
Ähnliche Präsentationen
Objektorientierte Programmierung
Advertisements

der Universität Oldenburg
der Universität Oldenburg
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (26-Graphenalgorithmen: Wiederholung und Übung) Prof. Th. Ottmann.
Sortieren I - Bubblesort -
Konzepte objektorientierter Systeme
16. Modularität und Abstraktion
Kapitel 5. Stacks und Queues
Synonyme: Stapel, Keller, LIFO-Liste usw.
Einführung in die Informationsverarbeitung Stunde II: Datenstrukturen Manfred Thaller, Universität Köln Köln 22. Oktober 2007.
Gliederung Motivation / Grundlagen Sortierverfahren
Indirekte Adressierung
FH-Hof Indirekte Adressierung Richard Göbel. FH-Hof Einfache Speicherung von Daten Eine "einfache" Deklaration definiert direkt eine Speicherplatz für.
Java: Grundlagen der Sprache
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (06 - Anwendungen von Stapeln und Schlangen) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Anwendungen von Stapeln und Schlangen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27-Selbstanordnende lineare Listen) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (05 – Elementare Datenstrukturen) Prof. Th. Ottmann.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 6 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Sebastian Grahn Sebastian Kühn
6 Folgen (Teil II - Datenstrukturen und Algorithmen)
DVG Klassen und Objekte
Weiteres Programm Studium des Breitendurchlaufs Hierzu
Informatikunterricht mit Java
Stacks Referat im Fach Basisinformationstechnologien von Venelina Koleva.
FH-Hof Algorithmen und Datenstrukturen - Einführung Richard Göbel.
Chair of Software Engineering Einführung in die Programmierung Prof. Dr. Bertrand Meyer Lecture 13: (Container-)Datenstrukturen.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Effiziente Algorithmen
Chair of Software Engineering Einführung in die Programmierung Prof. Dr. Bertrand Meyer Lecture 13: (Container-)Datenstrukturen.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
1.2 Trennung von Struktur und Inhalt
1.6 Die Datenstruktur Stapel Ein Stapel (Stack) ist ein Sonderfall einer Liste. Die Elemente werden nach dem Prinzip LIFO (Last In First Out) angefügt.
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Thomas Hilpold: Algorithmen und Datenstrukturen SS 2005 Mag.Th. Hilpold u. Dr. A.Stritzinger.
Kapitel 5: Von Datenstrukturen zu Abstrakten Datentypen
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
se_5_liste_stack_etc.ppt1 Softwareengineering Listenstrukturen und ähnliches Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and Law.
Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen Köln 25. Oktober 2012.
Programmiersprachen II Fortsetzung Datenstrukturen Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Programmiersprachen II Vorbesprechung Klausur Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
 Am Ende der letzten Stunde hatten wir über die Grenzen unserer Automaten-Modell gesprochen. Dr. Lars Ettelt2  Tipp: Parkhaus.  Einfahrt erst wenn.
Tutorium Software-Engineering SS14 Florian Manghofer.
Strukturen (Eigenschaften) Strukturen dienen zur Zusammenfassung mehrerer Komponenten verschiedener Typen zu einer Einheit, die dann mit gemeinsamen Namen.
Anforderungen an die neue Datenstruktur
Algorithmen und Datenstrukturen
Das Entwurfsmuster Model-View-Controller
Einführung in die Informationsverarbeitung Teil Thaller Stunde II: Datenstrukturen Köln 27. Oktober 2011.
Objektorientiertes Modellieren und Programmieren mit Java
Anforderungen an die neue Datenstruktur
Praktische Informatik 1
Praktische Informatik 1
Zwei Denkansätze zur Klasse Schlange
Der Abschluss einer Schlange
Gruppe 2 Carina Fuss Informatik II – Übung 4 Gruppe 2 Carina Fuss Carina Fuss
Informationen zum überschulischen Informatik-LK
1. Die rekursive Datenstruktur Liste 1.5 Das Entwurfsmuster Kompositum
2. Vererbung und Kapselung
1. Die rekursive Datenstruktur Liste 1
Datenstrukturen und Softwareentwicklung
3. Die Datenstruktur Graph 3.3 Durchlaufen von Graphen
1. Die rekursive Datenstruktur Liste 1.6 Die Datenstruktur Stapel
1. Die rekursive Datenstruktur Liste 1
Informatik Softwareentwicklung – 4.3 Entwurfsmuster
Informatik II – Übung 4 Gruppe 3
2. Die rekursive Datenstruktur Baum 2.3 Baum und Kompositum
 Präsentation transkript:

Schlange und Stapel

Die Rückgängig-Funktion Bekannt aus vielen Anwendungsprogrammen: Veränderungen am Dokument können sukzessive rückgängig gemacht werden. Der Zurück-Button im Browser hat eine ähnliche Funktion.

Fragen Was muss gespeichert werden? Wie muss das gespeichert werden? Eignet sich eine Warteschlange? Was muss bei der Speicherung anders laufen als bei der Warteschlange?

ADT – Abstrakter Datentyp Datentyp wird nur durch seine Operationen definiert. Definition unabhängig von der inneren Programmierung. Algorithmen können damit formuliert werden. Queue void enqueue(Object pObject) void dequeue() Object front() boolean isEmpty() Stack void push(Object pObject) void pop() Object top() boolean isEmpty() Vorgaben aus dem Zentralabitur

Was muss gespeichert werden? Daten einer Ersetzung Zeichen, das ersetzt wird (Original) Zeichen, das eingesetzt wird (Ersetzung) Klasse ErsetzungsOperation:

Speichern in Warteschlange? Einfügen = hinten anstellen Aufrücken, bis man vorne ist Eigenschaften Warteschlange: Reihenfolge in der Schlange bleibt immer erhalten Entnahme in der gleichen Reihenfolge wie beim Einfügen First In, First Out (FIFO)

Speichern in einem Stapel! Einfügen = oben auflegen Warten bis die später aufgelegten wieder entnommen sind Eigenschaften Stapel: Reihenfolge in der Schlange bleibt immer erhalten Entnahme in der umgekehrten Reihenfolge wie beim Einfügen Last In, First Out (LIFO)

Stapel realisiert durch eine Verkettung obenAuflegen(Object pNeu): neuen Knoten erzeugen Oberster wird dessen Nachfolger neuer wird Oberster entferneOberstesObjekt(): Nachfolger des Obersten wird der neue Oberste

Aufgaben Klasse Stapel gemäß UML-Diagramm programmieren, alte Klasse Knoten verwenden. Klasse ErsetzungsOperation programmieren. Beispiel (V → e, D → n, I → d, Rück, F → d, Rück, Rück, Rück) in BlueJ mit Objekten visualisieren und durchspielen. Je nach eigener Einschätzung den Rückgängig- Button in das Entschlüsselungsprojekt einbauen. selbständig ohne Hilfen vom Ausgangsprojekt aus aus vorbereitetem Projekt mit eingebautem Knopf und vorbereiteten Methodenrümpfen mit Programmierhinweisen in der Anwendungsklasse

Vergleich Schlange ↔ Stapel Beibehaltung der Reihenfolge First In – First Out (FIFO) Stapel (auch Keller): Beibehaltung der Reihenfolge Last In – First Out (LIFO) Beide Strukturen stellen grundlegende Datenstrukturen der Informatik dar, die an vielen Stellen verwendet werden. Schlange: Druckerwarteschlange, Prozessorwarteschlange Stapel: Stapelspeicher für Methodenaufrufe, Kellerautomat ADT Queue ADT Stack