Gliederung. Algorithmen und Datenstrukturen Einführung. Abstrakte Datentypen. Abstrakte Datentypen in Haskell. Abstrakte Datentypen (ADT) I

Größe: px
Ab Seite anzeigen:

Download "Gliederung. Algorithmen und Datenstrukturen Einführung. Abstrakte Datentypen. Abstrakte Datentypen in Haskell. Abstrakte Datentypen (ADT) I"

Transkript

1 Gliederung Algorithmen und Datenstrukturen Einführung Abstrakte Datentypen (ADT) I D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Winter 2008/2009, 23. November s im Alltag ADT 3 s im Alltag ADT Abstrakte Datentypen abstrakte Datentypen kurz oft nur ADT genannt sind im Unterschied zu den bisher betrachteten konkreten Datentypen nicht an eine bestimmte Repräsentation gebunden ADTs werden implizit durch die Menge der auf ihnen zugelassenen Operationen (Konstruktoren, Selektoren, Prädikate) definiert diese werden auch als das Interface des ADT bezeichnet nur das Interface wird Nutzern offengelegt die interne Struktur die sog. Implementierung des ADT bleibt verborgen (Kapselung, information hiding ) und könnte jederzeit geändert werden solange das Interface unverändert bleibt, ist Code, der den ADT nutzt, davon nicht betroffen m.a.w.: ADTs dienen der Modularisierung Abstrakte Datentypen in Haskell in Haskell können ADTs durch Haskell-Module realisiert werden ein Modul in Haskell definiert eine Menge von Funktionen und Datentypen in einer geschlossenen Umgebung ein Modul kann alle oder auch nur einige ausgewählte seiner Definitionen exportieren definiert wird ein Modul in Haskell durch module <name> (<exportliste>) where <definitionen>

2 ADT s im Alltag ADT : Alltagsbeispiele s im Alltag ADT... dt. Stapel im folgenden einige Beispiele aus dem Alltag Quelle: : Alltagsbeispiele s im Alltag ADT : Alltagsbeispiele s im Alltag ADT Quelle: Quelle:

3 ADT s im Alltag ADT ADT s im Alltag ADT abstrakter Datentyp Ein ist eine homogene Sammlung von Objekten, auf denen zwei zentrale Operationen definiert sind: Definition push x s füge x als neues oberstes Element in den s ein und gib den veränderten mit x als oberstem Element (sog. top) zurück pop s entferne das aktuelle oberste Element vom und gib den veränderten ohne x als oberstem Element als Wert zurück; Fehler, falls leer s.a. [RL99], Ch. 5 abstrakter Datentyp realisiert das LIFO-Prinzip: last-in, first-out weitere Definitionen: das oberste Element eines s s wird durch den Selektor top s geliefert (dieses bleibt aber auf dem ) mit dem Konstruktor empty wird ein leerer kreiert das Prädikat stackempty prüft, ob ein noch Elemente enthält oder nicht manchmal kann auch noch mit size die Anzahl der Elemente auf dem erfragt werden s.a. [RL99], Ch. 5 bzw. [GT01], Ch. 4 ADT s im Alltag ADT ADT s im Alltag ADT s and queues are among the simplest of all data structure, but are also among the most important. ([GT01], p. 136) wegen ihrer Bedeutung oft sogar in Hardware in den sog. Mikroinstruktionen in der CPU implementiert zentrales Element in vielen Programmierumgebungen, so z.b. in Hugs, aber auch in der Java Virtual Machine (JVM) s.a. [GT01], Ch. 4 Beispiele für Verwendung von s: mit offenen Frames verschachtelter (rekursiver) Aufrufe von Funktionen sog. Operandenstack beim Auswerten arithmetischer Ausdrücke wie ((a + b)*(c + d))/e Speichern kürzlich besuchter WWW-Seiten in einem in einem Webbrowser Undo-Mechanismus in Texteditoren realisiert über einen mit den Operationen zur Textänderung s.a. [GT01], Ch. 4

4 ADT s im Alltag ADT ADT s im Alltag ADT Bedeutung von pop als engl. Verb (aus WordNet 2.0): The verb pop has 13 senses (first 4 from tagged texts) 1. (3) protrude, pop, pop out, bulge, bulge out, bug out, come out -- (bulge outward; "His eyes popped") 2. (3) pop -- (hit a pop-fly; "He popped out to shortstop") 3. (1) pop -- (make a sharp explosive noise; "The cork of the champagne bottle popped") 4. (1) pop -- (fire a weapon with a loud explosive noise; "The soldiers were popping") 5. pop -- (cause to make a sharp explosive sound; "He popped the champagne bottle") 6. crop up, pop up, pop -- (appear suddenly or unexpectedly; "The farm popped into view as we turned the corner"; "He suddenly popped up out of nowhere") Bedeutung von pop als engl. Verb (aus WordNet 2.0) (cont.): 7. pop -- (put or thrust suddenly and forcefully; "pop the pizza into the microwave oven"; "He popped the petit-four into his mouth") 8. pop -- (release suddenly; "pop the clutch") 9. pop -- (hit or strike; "He popped me on the head") 10. toss off, pop, bolt down, belt down, pour down, down, drink down, kill -- (drink down entirely; "He downed three martinis before dinner"; "She killed a bottle of brandy that night"; "They popped a few beer after work") 11. pop -- (take drugs, especially orally; "The man charged with murder popped a valium to calm his nerves") 12. pop -- (cause to burst with a lound, explosive sound; "The child popped the balloon") 13. pop -- (burst open with a sharp, explosive sound; "The balloon popped"; "This popcorn pops quickly in the microwave oven") ADT s im Alltag ADT ADT s im Alltag ADT die Modul-Definition (s.a. [RL99], Ch. 5): module (,push,pop,top,empty,stackempty) where empty:: a stackempty:: a -> Bool push :: a-> a -> a pop :: a -> a top :: a -> a mit einem Konstruktor data a = EmptyStk Stk a ( a) empty = EmptyStk stackempty EmptyStk = True stackempty _ = False

5 ADT s im Alltag ADT ADT s im Alltag ADT mit einem Konstruktor (cont.) push x s = Stk x s pop EmptyStk = error "pop from an empty stack" pop (Stk _ s) = s top EmptyStk = error "top from an empty stack" top (Stk x _) = x Alternative durch Liste: newtype a = Stk [a] empty = Stk [] stackempty (Stk []) = True stackempty (Stk _ ) = False ADT s im Alltag ADT ADT s im Alltag ADT Alternative durch Liste (cont.): push x (Stk xs) = Stk (x:xs) pop (Stk []) = error "pop from an empty stack" pop (Stk (_:xs)) = Stk xs top (Stk []) = error "top from an empty stack" top (Stk (x:_)) = x Beispiel eine mit deriving gewonnene show-funktion würde die offenlegen daher Definition einer eigenen Darstellung für s für die mit Konstruktor: instance (Show a) => Show ( a) where showsprec p EmptyStk str = showchar - str showsprec p (Stk x s) str = shows x (showchar (shows s str))

6 ADT s im Alltag ADT ADT s im Alltag ADT Beispiel Definition einer eigenen Darstellung für s für die mit Liste: instance (Show a) => Show ( a) where showsprec p (Stk []) str = showchar - str showsprec p (Stk (x:xs)) str = shows x (showchar (shows (Stk xs) str))... dt. Schlange (im Sinne von Warteschlange) im folgenden einige Beispiele aus dem Alltag : Alltagsbeispiele s im Alltag ADT : Alltagsbeispiele s im Alltag ADT Quelle: Waiting queue in front of the Science Express Quelle:

7 : Alltagsbeispiele s im Alltag ADT ADT s im Alltag ADT abstrakter Datentyp Eine ist ähnlich wie ein eine homogene Sammlung von Objekten, auf denen zwei zentrale Operationen definiert sind: Definition enqueue x q füge x als neues letztes Element hinten (rear) an die q an und gib die veränderte zurück dequeue q entferne das aktuelle erste Element (front) aus der und gib die veränderte als Wert zurück; Fehler, falls leer s.a. [RL99], Ch. 5.3 Quelle: ADT s im Alltag ADT ADT s im Alltag ADT abstrakter Datentyp realisiert das FIFO-Prinzip: first-in, first-out weitere Definitionen: das erste Element einer q wird durch den Selektor front q geliefert (aber nicht aus der entfernt) mit dem Konstruktor empty wird eine leere kreiert das Prädikat queueempty prüft, ob eine noch Elemente enthält oder nicht manchmal kann auch noch mit size die Anzahl der Elemente in der erfragt werden s.a. [RL99], Ch. 5.3 bzw. [GT01], Ch. 4.2 Beispiele für Verwendung von s: Behörden, Läden, Theater, aber auch Mensen, Prüfungsämer u.ä. bedienen ihre Kunden üblicherweise nach dem FIFO-Prinzip als Datenstruktur geeignet für Verwaltung aller Arten von Transaktionen nach diesem Prinzip z.b. Verwaltung eingehender (telefonischer) Anfragen bei einem Reservierungssystem oder sonstigen Call-Center s.a. [GT01], Ch. 4.2

8 ADT s im Alltag ADT ADT s im Alltag ADT die Modul-Definition (s.a. [RL99], Ch. 5.3): module (,empty,queueempty, enqueue,dequeue,front) where empty :: a queueempty :: a -> Bool enqueue :: a -> a -> a dequeue :: a -> a front :: a -> a durch Liste: newtype a = Q [a] deriving Show empty = Q [] queueempty (Q []) = True queueempty (Q _ ) = False ADT s im Alltag ADT ADT s im Alltag ADT durch Liste (cont.): enqueue x (Q q) = Q (q ++ [x]) dequeue (Q (_:xs)) = Q xs dequeue (Q []) = error "dequeue: empty queue" front (Q (x:_)) = x front (Q []) = error "front: empty queue" durch Liste (cont.): Nachteil dieser Aufwand für enqueue ist O(n) denn:... alle anderen Operationen haben konstanten Aufwand (O(1))

9 ADT s im Alltag ADT ADT s im Alltag ADT Alternative durch ein Paar von Listen: Idee: erste Liste repräsentiert den Anfangsteil der, zweite den hinteren Teil in umgedrehter Ordnung an den hinteren Teil kann dann mit konstantem Aufwand angefügt werden wird der Anfangsteil der leer, dann wird der hintere Teil (einmal) umgedreht und zum Anfangsteil gemacht wird für reverse eine mit linearem Aufwand verwendet, dann ist der durchschnittliche Aufwand über eine Sequenz von -Operationen O(1), im schlechtesten Fall kann er aber O(n) betragen (vgl. [RL99], Ch. 5.3) Alternative durch ein Paar von Listen (cont.): newtype a = Q ([a],[a]) enqueue x (Q ([],[])) = Q ([x],[]) enqueue y (Q (xs,ys)) = Q (xs,y:ys) dequeue (Q ([],[])) = error "dequeue:empty queue" dequeue (Q ([],ys)) = Q (tail(reverse ys), []) dequeue (Q (x:xs,ys)) = Q (xs,ys) ADT s im Alltag ADT ADT s im Alltag ADT Alternative durch ein Paar von Listen (cont.): queueempty (Q ([],[])) = True queueempty _ = False empty = Q ([],[]) front (Q ([],[])) = error "front:empty queue" front (Q ([],ys)) = last ys front (Q (x:xs,ys)) = x Alternative durch ein Paar von Listen (cont.): Definition der gedruckten Darstellung in Analogie zu der bei der Listenimplementation durch deriving abgeleiteten instance (Show a) => Show ( a) where showsprec p (Q (front, rear)) str = showstring "Q " (showlist (front ++ reverse rear) str)

10 Literatur: s im Alltag ADT Michael T. Goodrich and Roberto Tamassia. Data Structures and Algorithms in Java. John Wiley & Sons, New York, ISBN ; 2nd edition. Fethi Rabhi and Guy Lapalme. Algorithms A Functional Programming Approach. Pearson Education Ltd., Essex, nd edition, ISBN

Algorithmen und Datenstrukturen I

Algorithmen und Datenstrukturen I Algorithmen und Datenstrukturen I Abstrakte Datentypen D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Winter 2009/10, 22. November

Mehr

Gliederung. Algorithmen und Datenstrukturen I. Abstrakte Datentypen. Abstrakte Datentypen. bstrakte Datentypen. D. Rösner

Gliederung. Algorithmen und Datenstrukturen I. Abstrakte Datentypen. Abstrakte Datentypen. bstrakte Datentypen. D. Rösner Gliederung Algorithmen und Datenstrukturen I Abstrakte Datentypen D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Winter 2009/10,

Mehr

Programmieren in Haskell Abstrakte Datentypen

Programmieren in Haskell Abstrakte Datentypen Programmieren in Haskell Abstrakte Datentypen Peter Steffen Universität Bielefeld Technische Fakultät 09.01.2009 1 Programmieren in Haskell Einführung Man unterscheidet zwei Arten von Datentypen: konkrete

Mehr

Programmieren in Haskell. Abstrakte Datentypen

Programmieren in Haskell. Abstrakte Datentypen Programmieren in Haskell Abstrakte Datentypen Einführung Man unterscheidet zwei Arten von Datentypen: konkrete Datentypen: beziehen sich auf eine konkrete Repräsentation in der Sprache. Beispiele: Listen,

Mehr

Gliederung. Algorithmen und Datenstrukturen I. Binäre Bäume: ADT Heap. inäre Bäume: ADT Heap. Abstrakte Datentypen IV. D. Rösner

Gliederung. Algorithmen und Datenstrukturen I. Binäre Bäume: ADT Heap. inäre Bäume: ADT Heap. Abstrakte Datentypen IV. D. Rösner Gliederung Algorithmen und Datenstrukturen I Abstrakte Datentypen IV D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Winter 2009/10,

Mehr

Algorithmen und Datenstrukturen I

Algorithmen und Datenstrukturen I Algorithmen und Datenstrukturen I Sortierverfahren D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Winter 2009/10, 18. Januar 2010,

Mehr

5. Januar Universität Bielefeld AG Praktische Informatik. Programmieren in Haskell. Stefan Janssen. Abstrakte Datentypen.

5. Januar Universität Bielefeld AG Praktische Informatik. Programmieren in Haskell. Stefan Janssen. Abstrakte Datentypen. Universität Bielefeld AG Praktische Informatik 5. Januar 2015 Themen-Vorschau Module In der Software-Entwicklung unterscheidet zwei Arten von : konkrete beziehen sich auf eine konkrete Repräsentation in

Mehr

B2.1 Abstrakte Datentypen

B2.1 Abstrakte Datentypen Algorithmen und Datenstrukturen 21. März 2018 B2. Abstrakte Datentypen Algorithmen und Datenstrukturen B2. Abstrakte Datentypen B2.1 Abstrakte Datentypen Marcel Lüthi and Gabriele Röger B2.2 Multimengen,

Mehr

Algorithmen und Datenstrukturen II

Algorithmen und Datenstrukturen II Algorithmen und Datenstrukturen II in JAVA D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 4. Mai 2009, c 2009 D.Rösner

Mehr

Gliederung. Algorithmen und Datenstrukturen II. Java: Objektorientierung. Java: Objektorientierung. Objektorientierung in JAVA. D.

Gliederung. Algorithmen und Datenstrukturen II. Java: Objektorientierung. Java: Objektorientierung. Objektorientierung in JAVA. D. Gliederung Algorithmen und Datenstrukturen II in JAVA D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 4. Mai 2009, c

Mehr

Wiederholung: Zusammenfassung Felder. Algorithmen und Datenstrukturen (für ET/IT) Definition Abstrakter Datentyp. Programm heute

Wiederholung: Zusammenfassung Felder. Algorithmen und Datenstrukturen (für ET/IT) Definition Abstrakter Datentyp. Programm heute Wiederholung: Zusammenfassung Felder Algorithmen und Datenstrukturen (für ET/IT) Wintersemester / Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Ein Feld A kann repräsentiert

Mehr

Counting - Sort [ [ ] [ [ ] 1. SS 2008 Datenstrukturen und Algorithmen Sortieren in linearer Zeit

Counting - Sort [ [ ] [ [ ] 1. SS 2008 Datenstrukturen und Algorithmen Sortieren in linearer Zeit Counting-Sort Counting - Sort ( A,B,k ). for i to k. do C[ i]. for j to length[ A]. do C[ A[ j ] C[ A[ j ] +. > C[ i] enthält Anzahl der Elemente in 6. for i to k. do C[ i] C[ i] + C[ i ]. > C[ i] enthält

Mehr

Algorithmen und Datenstrukturen II

Algorithmen und Datenstrukturen II Algorithmen und Datenstrukturen II Algorithmen zur Textverarbeitung III: D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009,

Mehr

Alexander Nutz. 3. Dezember 2007

Alexander Nutz. 3. Dezember 2007 3. Dezember 2007 1 / 21 Aufgabe: die zeit- und platzeziente Implementierung von abstrakten Datentypen, z.b. eines Wörterbuches oder einer Zahlenmenge, für Programme bekannte : Listen,, Heaps,, Stacks,...

Mehr

Gliederung. Algorithmen und Datenstrukturen I. Binäre Bäume: AVL-Bäume. inäre Bäume: AVL Bäume. Abstrakte Datentypen V: AVL Bäume. D.

Gliederung. Algorithmen und Datenstrukturen I. Binäre Bäume: AVL-Bäume. inäre Bäume: AVL Bäume. Abstrakte Datentypen V: AVL Bäume. D. Gliederung Algorithmen und Datenstrukturen I Abstrakte Datentypen V: D. Rösner Institut für Wissens- und Spracherarbeitung Fakultät für Informatik Otto-on-Guericke Uniersität Magdeburg 1 Einfachrotationen

Mehr

Gliederung. Algorithmen und Datenstrukturen I. Listen in Haskell: Listen in Haskell: Listen in Haskell. Datentyp Liste Strings Listenkomprehension

Gliederung. Algorithmen und Datenstrukturen I. Listen in Haskell: Listen in Haskell: Listen in Haskell. Datentyp Liste Strings Listenkomprehension Gliederung Algorithmen und Datenstrukturen I D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg 1 Winter 2009/10, 16. Oktober 2009, c

Mehr

Algorithmen und Datenstrukturen I

Algorithmen und Datenstrukturen I und I Rückblick und D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Winter 2009/10, 25. Januar 2010, c 2009/10 D.Rösner D. Rösner

Mehr

Algorithmen und Datenstrukturen II

Algorithmen und Datenstrukturen II Algorithmen und Datenstrukturen II D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 9. April 2009, c 2009 D.Rösner D.

Mehr

WS 2011/2012. Georg Sauthoff Januar 2012

WS 2011/2012. Georg Sauthoff Januar 2012 WS 2011/2012 Georg 1 AG Praktische Informatik 11. Januar 2012 1 gsauthof@techfak.uni-bielefeld.de Man unterscheidet zwei Arten von : konkrete : beziehen sich auf eine konkrete Repräsentation in der Sprache.

Mehr

Haskell Seminar Abstrakte Datentypen. Nils Bardenhagen ms2725

Haskell Seminar Abstrakte Datentypen. Nils Bardenhagen ms2725 Haskell Seminar Abstrakte Datentypen Nils Bardenhagen ms2725 Gliederung Konzept Queue Module Sets Bags Flexible Arrays Fazit Abstrakte Datentypen (ADT) Definition: Eine Zusammenfassung von Operationen,

Mehr

Einführung in die Objektorientierte Programmierung Vorlesung 18: Lineare Datenstrukturen. Sebastian Küpper

Einführung in die Objektorientierte Programmierung Vorlesung 18: Lineare Datenstrukturen. Sebastian Küpper Einführung in die Objektorientierte Programmierung Vorlesung 18: Lineare Datenstrukturen Sebastian Küpper Unzulänglichkeit von Feldern Wenn ein Unternehmen alle Rechnungen eines Jahres verwalten möchte,

Mehr

1. Die rekursive Datenstruktur Liste

1. Die rekursive Datenstruktur Liste 1. Die rekursive Datenstruktur Liste 1.6 Die Datenstruktur Stapel Ein Stack, auch Stapel oder Keller genannt, ist eine Datenstruktur, bei der die Elemente nur an einem Ende der Folge eingefügt bzw. gelöscht

Mehr

Gliederung. Funktionale Programmierung. Pattern matching in Haskell. Pattern matching in ERLANG. Materialien zur Vorlesung

Gliederung. Funktionale Programmierung. Pattern matching in Haskell. Pattern matching in ERLANG. Materialien zur Vorlesung Gliederung Funktionale Programmierung Materialien zur Vorlesung D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg 1 Sommer 2011, 7.

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2014 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München 2 Programm heute 1 Einführung 2 Grundlagen von Algorithmen

Mehr

12. Dynamische Datenstrukturen

12. Dynamische Datenstrukturen Motivation: Stapel. Dynamische Datenstrukturen Verkettete Listen, Abstrakte Datentypen Stapel, Warteschlange, Implementationsvarianten der verketteten Liste 0 04 Motivation: Stapel ( push, pop, top, empty

Mehr

11. Elementare Datenstrukturen

11. Elementare Datenstrukturen 11. Elementare Datenstrukturen Definition 11.1: Eine dynamische Menge ist gegeben durch eine oder mehrer Mengen von Objekten sowie Operationen auf diesen Mengen und den Objekten der Mengen. Dynamische

Mehr

16. Dynamische Datenstrukturen

16. Dynamische Datenstrukturen Datenstrukturen 6. Dynamische Datenstrukturen Eine Datenstruktur organisiert Daten so in einem Computer, dass man sie effizient nutzen kann. Verkettete Listen, Abstrakte Datentypen Stapel, Warteschlange

Mehr

Algorithmen und Datenstrukturen II

Algorithmen und Datenstrukturen II Algorithmen und Datenstrukturen II D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2010, 29. März 2010, c 2010 D.Rösner D.

Mehr

Gliederung. Algorithmen und Datenstrukturen I. Eine wichtige Frage. Algorithmus. Materialien zur Vorlesung. Begriffsbestimmung EUKLID Primzahltest

Gliederung. Algorithmen und Datenstrukturen I. Eine wichtige Frage. Algorithmus. Materialien zur Vorlesung. Begriffsbestimmung EUKLID Primzahltest Gliederung Algorithmen und Datenstrukturen I Materialien zur Vorlesung D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg 1 Winter 2009/10,

Mehr

ALP II Dynamische Datenmengen Datenabstraktion

ALP II Dynamische Datenmengen Datenabstraktion ALP II Dynamische Datenmengen Datenabstraktion O1 O2 O3 O4 SS 2012 Prof Dr Margarita Esponda M Esponda-Argüero 1 Dynamische Datenmengen Dynamische Datenmengen können durch verschiedene Datenstrukturen

Mehr

Programmierparadigmen

Programmierparadigmen in Haskell Programmierparadigmen in Haskell D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2011, 4. April 2011, c 2011 D.Rösner

Mehr

Datentypen. strukturierte. elementare. skalare reelle statische dynamische int. list. real float. set. record. inhomogen. homogen

Datentypen. strukturierte. elementare. skalare reelle statische dynamische int. list. real float. set. record. inhomogen. homogen Datentypen elementare strukturierte skalare reelle statische dynamische int real float list homogen set inhomogen record Der elementare Datentyp nat bestehend aus einer Objektmenge und den darauf definierten

Mehr

Abstrakte Datentypen und deren Implementierung in Python

Abstrakte Datentypen und deren Implementierung in Python Kapitel 15: Abstrakte Datentypen und deren Implementierung in Python Einführung in die Informatik Wintersemester 007/08 Prof. Bernhard Jung Übersicht Abstrakte Datentypen ADT Stack Python-Implementierung(en)

Mehr

Gliederung. Algorithmen und Datenstrukturen I. öschen in Rot-Schwarz-Bäumen. Löschen in Rot-Schwarz-Bäumen

Gliederung. Algorithmen und Datenstrukturen I. öschen in Rot-Schwarz-Bäumen. Löschen in Rot-Schwarz-Bäumen Gliederung Algorithmen und Datenstrukturen I Abstrakte Datentypen VII: in n D. Rösner Institut für Wissens- und prachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg 1 Winter

Mehr

Organisatorisches. Algorithmen und Datenstrukturen (für ET/IT) Programm heute. Definition Feld. Definition Feld

Organisatorisches. Algorithmen und Datenstrukturen (für ET/IT) Programm heute. Definition Feld. Definition Feld Organisatorisches Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 208 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München TUMonline-Einträge: Vorlesung https://campus.tum.de/tumonline/wblv.

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2016 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 1 Einführung 2 Grundlagen von Algorithmen

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 2017 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. (Sortierte) Listen 2. Stacks & Queues 3. Datenstrukturen 4. Rekursion und vollständige Induktion

Mehr

Programmieren in Haskell Programmiermethodik

Programmieren in Haskell Programmiermethodik Programmieren in Haskell Programmiermethodik Peter Steffen Universität Bielefeld Technische Fakultät 12.01.2011 1 Programmieren in Haskell Bisherige Themen Was soll wiederholt werden? Bedienung von hugs

Mehr

- Welche konkreten Invarianten müssen gelten? Berücksichtigen: Invarianten aus Modell und Implem.

- Welche konkreten Invarianten müssen gelten? Berücksichtigen: Invarianten aus Modell und Implem. 234 Implementierung von Abstrakten Datentypen und Korrektheitskriterien Ziel: Zusammenhang zwischen Spezifikation (Modell!) und Implementierung(en) herstellen Spezifikation Implementierung abstraktes Modell?

Mehr

Graphdurchmusterung, Breiten- und Tiefensuche

Graphdurchmusterung, Breiten- und Tiefensuche Prof. Thomas Richter 18. Mai 2017 Institut für Analysis und Numerik Otto-von-Guericke-Universität Magdeburg thomas.richter@ovgu.de Material zur Vorlesung Algorithmische Mathematik II am 18.05.2017 Graphdurchmusterung,

Mehr

Geheimnisprinzip: (information hiding principle, Parnas 1972)

Geheimnisprinzip: (information hiding principle, Parnas 1972) 2. Abstrakte Datentypen 2.0 Begriffe Geheimnisprinzip: (information hiding principle, Parnas 1972) Zugriffe auf Teile einer Programmeinheit, die für die reguläre Benutzung nicht erforderlich sind, sollten

Mehr

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2014 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München 2 Programm heute 1 Einführung 2 Grundlagen von Algorithmen

Mehr

Algorithmen und Datenstrukturen II

Algorithmen und Datenstrukturen II Algorithmen und Datenstrukturen II in JAVA D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 31. März 2009, c 2009 D.Rösner

Mehr

Einführung in die Programmiertechnik

Einführung in die Programmiertechnik Einführung in die Programmiertechnik Klassen und Abstrakte Datentypen Abstrakte Datentypen (ADT) Beschreibung der Datentypen nicht auf Basis ihrer Repräsentation, sondern auf Basis ihrer Operationen und

Mehr

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Feld als sequentielle Liste. Definition Feld

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Feld als sequentielle Liste. Definition Feld Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 205 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Einführung 2 Grundlagen von Algorithmen

Mehr

Abstrakter Datentyp (ADT): Besteht aus einer Menge von Objekten, sowie Operationen, die auf diesen Objekten wirken.

Abstrakter Datentyp (ADT): Besteht aus einer Menge von Objekten, sowie Operationen, die auf diesen Objekten wirken. Abstrakte Datentypen und Datenstrukturen/ Einfache Beispiele Abstrakter Datentyp (ADT): Besteht aus einer Menge von Objekten, sowie Operationen, die auf diesen Objekten wirken. Datenstruktur (DS): Realisierung

Mehr

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Definition Feld. Feld als sequentielle Liste

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Definition Feld. Feld als sequentielle Liste Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 204 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Einführung 2 Grundlagen von Algorithmen

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen B3. ADTs, Bags, Stack and Queues Marcel Lüthi and Gabriele Röger Universität Basel 21. März 2019 Abstrakte Datentypen Abstrakte Datentypen : Definition Abstrakter Datentyp

Mehr

13. Dynamische Datenstrukturen

13. Dynamische Datenstrukturen Motivation: Stapel. Dynamische Datenstrukturen Verkettete Listen, Abstrakte Datentypen Stapel, Warteschlange, Sortierte Liste 40 40 Motivation: Stapel ( push, pop, top, empty ) Wir brauchen einen neuen

Mehr

WS 2011/2012. Robert Giegerich. 19. Dezember 2012

WS 2011/2012. Robert Giegerich. 19. Dezember 2012 WS 2011/2012 Robert AG Praktische Informatik 19. Dezember 2012 matching (alias Mustervergleich) kennen wir bereits aus Funktionsgleichungen aus case-ausdrücken Ein (Muster) ist ein Ausdruck bestehend aus

Mehr

Algorithmen und Datenstrukturen II

Algorithmen und Datenstrukturen II Algorithmen und Datenstrukturen II D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 26. März 2009, c 2009 D.Rösner D.

Mehr

1 Abstrakte Datentypen

1 Abstrakte Datentypen 1 Abstrakte Datentypen Spezifiziere nur die Operationen! Verberge Details der Datenstruktur; der Implementierung der Operationen. == Information Hiding 1 Sinn: Verhindern illegaler Zugriffe auf die Datenstruktur;

Mehr

Abstrakte Datentypen I

Abstrakte Datentypen I 6 Abstrakte Datentypen I Ein Datentyp heißt abstrakt, wenn seine Eigenschaften allein durch die für ihn definierten Operationen festgelegt sind, während die Repräsentation seiner Werte dem Benutzer verborgen

Mehr

Stacks, Queues & Bags. Datenstrukturen. Pushdown/Popup Stack. Ferd van Odenhoven. 19. September 2012

Stacks, Queues & Bags. Datenstrukturen. Pushdown/Popup Stack. Ferd van Odenhoven. 19. September 2012 , Queues & Ferd van Odenhoven Fontys Hogeschool voor Techniek en Logistiek Venlo Software Engineering 19. September 2012 ODE/FHTBM, Queues & 19. September 2012 1/42 Datenstrukturen Elementare Datenstrukturen

Mehr

Gliederung. Algorithmen und Datenstrukturen II. Graphen: All-pairs shortest paths. Graphen: All-pairs shortest paths. Graphen: Kürzeste Pfade III

Gliederung. Algorithmen und Datenstrukturen II. Graphen: All-pairs shortest paths. Graphen: All-pairs shortest paths. Graphen: Kürzeste Pfade III Gliederung Algorithmen und Datenstrukturen II : Kürzeste Pfade III D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg 1 Problem Transitiver

Mehr

Abstrakte Datentypen und Datenstrukturen

Abstrakte Datentypen und Datenstrukturen Abstrakte Datentypen und Datenstrukturen Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 3. VO DAP2 SS 2008 15. April 2008 1 Überblick ADT Sequence ADT Stack

Mehr

Übungsblatt 6: Softwareentwicklung I (WS 2006/07)

Übungsblatt 6: Softwareentwicklung I (WS 2006/07) Prof. Dr. A. Poetzsch-Heffter Dipl.-Inform. J.O. Blech Dipl.-Inform. M.J. Gawkowski Dipl.-Inform. N. Rauch Technische Universität Kaiserslautern Fachbereich Informatik AG Softwaretechnik Übungsblatt 6:

Mehr

Übung Algorithmen und Datenstrukturen

Übung Algorithmen und Datenstrukturen Übung Algorithmen und Datenstrukturen Sommersemester 2017 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda 1. Sortierte Listen 2. Stacks & Queues 3. Teile und Herrsche Nächste Woche: Vorrechnen (first-come-first-served)

Mehr

Gliederung. Algorithmen und Datenstrukturen II. Prioritätsgesteuerte Suche. Entwurfstechniken für Algorithmen. Entwurfstechniken für Algorithmen

Gliederung. Algorithmen und Datenstrukturen II. Prioritätsgesteuerte Suche. Entwurfstechniken für Algorithmen. Entwurfstechniken für Algorithmen Gliederung Algorithmen und Datenstrukturen II Entwurfstechniken für Algorithmen D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer

Mehr

Nachtrag: Vergleich der Implementierungen von Stack

Nachtrag: Vergleich der Implementierungen von Stack Nachtrag: Vergleich der Implementierungen von Stack In der letzten Vorlesung hatten wir zwei Implementierung der Klasse Stack: eine Implementierung als Liste (Array): liststack eine Implementierung als

Mehr

Datenstrukturen. Mariano Zelke. Sommersemester 2012

Datenstrukturen. Mariano Zelke. Sommersemester 2012 Datenstrukturen Mariano Zelke Sommersemester 2012 Kapitel 3: Elementare Datenstrukturen Mariano Zelke Datenstrukturen 2/18 Einfach verkettete Listen Mariano Zelke Datenstrukturen 3/18 Eine Zeiger-Implementierung

Mehr

5.3 Doppelt verkettete Listen

5.3 Doppelt verkettete Listen 5.3 Doppelt verkettete Listen Einfach verkettete Listen unterstützen das Einfügen und Löschen am Anfang in konstanter Zeit; für das Einfügen und Löschen am Ende benötigen sie jedoch lineare Laufzeit Doppelt

Mehr

Informatik II, SS 2014

Informatik II, SS 2014 Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 6 (14.5.2014) Abstrakte Datentypen, Einfache Datenstrukturen Algorithmen und Komplexität Abstrakte Datentypen : Beispiele Dictionary: (auch:

Mehr

Programmierparadigmen

Programmierparadigmen Programmierparadigmen D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 22. Juni 2009, c 2009 D.Rösner D. Rösner PGP 2009...

Mehr

Gliederung. Algorithmen und Datenstrukturen II. Problem: Längste gemeinsame Teilsequenz. Problem: Längste gemeinsame Teilsequenz

Gliederung. Algorithmen und Datenstrukturen II. Problem: Längste gemeinsame Teilsequenz. Problem: Längste gemeinsame Teilsequenz Gliederung Algorithmen und Datenstrukturen II Algorithmen zur Textverarbeitung II D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg

Mehr

8 Elementare Datenstrukturen

8 Elementare Datenstrukturen Algorithmen und Datenstrukturen 186 8 Elementare Datenstrukturen In diesem und dem folgenden Kapitel werden grundlegende Techniken der Darstellung und Manipulation dynamischer Mengen auf Computern vorgestellt.

Mehr

2.2.1 Algebraische Spezifikation (Fortsetzung)

2.2.1 Algebraische Spezifikation (Fortsetzung) 2.2.1 Algebraische Spezifikation (Fortsetzung) Algebraische Spezifikation: Mengen Types Set, Bool, t Signature > creates :: Eq t => Set t > isempty :: Eq t => Set t -> Bool > insert :: Eq t => t -> Set

Mehr

Spezielle Datenstrukturen

Spezielle Datenstrukturen Spezielle Datenstrukturen Stapel (Stack) Beschreibung der Datenstruktur Stapel Ein Stapel (engl. Stack), auch Stapelspeicher oder Keller bzw. Kellerspeicher genannt, ist eine Datenstruktur, in der Daten

Mehr

Programmierung im Grossen

Programmierung im Grossen 1 Letzte Aktualisierung: 16. April 2004 Programmierung im Grossen Bertrand Meyer 2 Vorlesung 4: Abstrakte Daten-Typen Übungen 3 Passe die vorhergehende Spezifikation von Stacks (LIFO, Last-In First-Out

Mehr

Algorithmen und Programmierung

Algorithmen und Programmierung Algorithmen und Programmierung Kapitel 8 Abstrakte Datentypen A&P (WS 14/15): 08 Abstrakte Datentypen 1 Überblick Abstrakte Datentypen Signaturen und Algebren Spezifikation von ADTs Umsetzung von ADTs

Mehr

ALP II Dynamische Datenmengen Datenabstraktion (Teil 2)

ALP II Dynamische Datenmengen Datenabstraktion (Teil 2) ALP II Dynamische Datenmengen Datenabstraktion (Teil 2) O1 O2 O3 O4 SS 2012 Prof. Dr. Margarita Esponda 49 Einfach verkettete Listen O1 O2 O3 50 Einführung Einfach verkettete Listen sind die einfachsten

Mehr

Einführung in die funktionale Programmierung

Einführung in die funktionale Programmierung Einführung in die funktionale Programmierung Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 26. Oktober 2006 Haskell - Einführung Syntax Typen Auswertung Programmierung

Mehr

Programmierung 1 (Wintersemester 2015/16) Wiederholungstutorium Lösungsblatt 15 (Linearer Speicher, Listen, Bäume)

Programmierung 1 (Wintersemester 2015/16) Wiederholungstutorium Lösungsblatt 15 (Linearer Speicher, Listen, Bäume) Fachrichtung 6.2 Informatik Universität des Saarlandes Tutorenteam der Vorlesung Programmierung 1 Programmierung 1 (Wintersemester 2015/16) Wiederholungstutorium Lösungsblatt 15 (Linearer Speicher, Listen,

Mehr

Listen. M. Jakob. Gymnasium Pegnitz. 20. September Hinführung: Wartenschlangen. Grundprinzip von Listen Rekursion

Listen. M. Jakob. Gymnasium Pegnitz. 20. September Hinführung: Wartenschlangen. Grundprinzip von Listen Rekursion M. Jakob Gymnasium Pegnitz 20. September 2015 Inhaltsverzeichnis Grundprinzip von Rekursion (10 Std.) Die einfach verkettete Liste als Kompositum (10 Std.) Klasse LISTENELEMENT? Entwurfsmuster Kompositum

Mehr

2.3 Spezifikation von Abstrakten Datentypen

2.3 Spezifikation von Abstrakten Datentypen Abstrakte Datentypen (ADT) 2.3 Spezifikation von Abstrakten Datentypen Sichtbare Schnittstelle: Typbezeichner Signaturen der Operationen Spezifikation der Operationen Abstraktionsbarriere Implementierung

Mehr

Einfügen immer nur am Kopf der Liste Löschen auch nur an einem Ende (2 Möglichkeiten!)

Einfügen immer nur am Kopf der Liste Löschen auch nur an einem Ende (2 Möglichkeiten!) Stack und Queue Grundlegender Datentyp Menge von Operationen (add, remove, test if empty) auf generischen Daten Ähnlich wie Listen, aber mit zusätzlichen Einschränkungen / Vereinfachungen: Einfügen immer

Mehr

Stack. Queue. pop() liefert zuletzt auf den Stack gelegtes Element und löscht es push( X ) legt ein Element X auf den Stack

Stack. Queue. pop() liefert zuletzt auf den Stack gelegtes Element und löscht es push( X ) legt ein Element X auf den Stack Stack und Queue Grundlegender Datentyp Menge von Operationen (add, remove, test if empty) auf generischen Daten Ähnlich wie Listen, aber mit zusätzlichen Einschränkungen / Vereinfachungen: Einfügen immer

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

7. Verkettete Strukturen: Listen

7. Verkettete Strukturen: Listen 7. Verkettete Strukturen: Listen Java-Beispiele: IntList.java List.java Stack1.java Version: 4. Jan. 2016 Vergleich: Schwerpunkte Arrays verkettete Listen Listenarten Implementation: - Pascal (C, C++):

Mehr

Schwerpunkte. Verkettete Listen. Verkettete Listen: 7. Verkettete Strukturen: Listen. Überblick und Grundprinzip. Vergleich: Arrays verkettete Listen

Schwerpunkte. Verkettete Listen. Verkettete Listen: 7. Verkettete Strukturen: Listen. Überblick und Grundprinzip. Vergleich: Arrays verkettete Listen Schwerpunkte 7. Verkettete Strukturen: Listen Java-Beispiele: IntList.java List.java Stack1.java Vergleich: Arrays verkettete Listen Listenarten Implementation: - Pascal (C, C++): über Datenstrukturen

Mehr

4.2 Daten und Datenstrukturen

4.2 Daten und Datenstrukturen 4.2 Daten und Datenstrukturen Daten Fundamentale Objekte, die in der Rechenanlage erfasst gespeichert ausgegeben (angezeigt, gedruckt) bearbeitet gelöscht werden können. Beispiele: Zahlen, Zeichenfolgen

Mehr

How To Understand The Algebraic Structure Of A Program In Python 2.8.2.2 (For Beginners)

How To Understand The Algebraic Structure Of A Program In Python 2.8.2.2 (For Beginners) Algorithmen und Programmierung Kapitel 8 Abstrakte Datentypen 1 Überblick Abstrakte Datentypen Signaturen und Algebren Spezifikation von ADTs Umsetzung von ADTs 2 Einführung Motivation: Wiederverwendbarkeit

Mehr

Listen. M. Jakob. 20. September Gymnasium Pegnitz

Listen. M. Jakob. 20. September Gymnasium Pegnitz Listen M. Jakob Gymnasium Pegnitz 20. September 2015 Inhaltsverzeichnis 1 Hinführung: Wartenschlangen (6 Std.) 2 Grundprinzip von Listen Rekursion (10 Std.) 3 Die einfach verkettete Liste als Kompositum

Mehr

Stand der Vorlesung. Vergleich verkettete Liste und sequentielle Liste

Stand der Vorlesung. Vergleich verkettete Liste und sequentielle Liste Stand der Vorlesung Kapitel 5 Elementare Datenstrukturen Felder: Folge gleichartiger Elemente Repräsentiert als statische Liste, sequentiell verwaltete Elemente Feste Länge, statische Struktur Direkter

Mehr

Technische Universität München

Technische Universität München Stand der Vorlesung Kapitel 5 Elementare Datenstrukturen Felder: Folge gleichartiger Elemente Repräsentiert als statische Liste, sequentiell verwaltete Elemente Feste Länge, statische Struktur Direkter

Mehr

13 Abstrakte Datentypen

13 Abstrakte Datentypen 13 Abstrakte Datentypen Bisher: Konkrete Datentypen Menge von Elementen Operationen auf den Elementen (Konstruktoren, Selektoren, Typprädikate) Eigenschaften abgeleitet Jetzt: Abstrakte Datentypen (ADT)

Mehr

1.1 Abstrakte Datentypen 1.2 Lineare Strukturen 1.3 Bäume 1.4 Prioritätsschlangen 1.5 Graphen

1.1 Abstrakte Datentypen 1.2 Lineare Strukturen 1.3 Bäume 1.4 Prioritätsschlangen 1.5 Graphen 1 Datenstrukturen 1.1 Abstrakte Datentypen 1.2 Lineare Strukturen 1.3 Bäume 1.4 Prioritätsschlangen 1.5 Graphen 1 Abstrakte Datentypen Spezifizieren Form und Funktionalität der zu verarbeitenden Daten

Mehr

Tutoraufgabe 1 (Implementierung eines ADTs):

Tutoraufgabe 1 (Implementierung eines ADTs): Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS Tutoriumslösung - Übung (Abgabe.05.0) F. Corzilius, S. Schupp, T. Ströder Tutoraufgabe (Implementierung eines ADTs): Wir spezifizieren den ADT

Mehr

Stapel (Stack, Keller)

Stapel (Stack, Keller) Stapel (Stack, Keller) Eine wichtige Datenstruktur ist der Stapel. Das Prinzip, dass das zuletzt eingefügte Element als erstes wieder entfernt werden muss, bezeichnet man als LIFO-Prinzip (last-in, first-out).

Mehr

Programmieren in Haskell Einstieg in Haskell

Programmieren in Haskell Einstieg in Haskell Programmieren in Haskell Einstieg in Haskell Peter Steffen Universität Bielefeld Technische Fakultät 24.10.2008 1 Programmieren in Haskell Was wir heute machen Umfrage: Wer hat den Hugs ausprobiert? Ausdrücke

Mehr

Elementare Datenstrukturen

Elementare Datenstrukturen Organisatorisches VL-09: Elementare Datenstrukturen (Datenstrukturen und Algorithmen, SS 2017) Gerhard Woeginger Vorlesung: Gerhard Woeginger (Zimmer 4024 im E1) Sprechstunde: Mittwoch 11:15 12:00 Übungen:

Mehr

SS10 Algorithmen und Datenstrukturen 2. Kapitel Fundamentale Datentypen und Datenstrukturen

SS10 Algorithmen und Datenstrukturen 2. Kapitel Fundamentale Datentypen und Datenstrukturen SS10 Algorithmen und Datenstrukturen 2. Kapitel Fundamentale Datentypen und Datenstrukturen Martin Dietzfelbinger April 2010 FG KTuEA, TU Ilmenau Algorithmen und Datenstrukturen SS10 Kapitel 2 Datentyp

Mehr

10 Abstrakte Datentypen

10 Abstrakte Datentypen 10 Abstrakte Datentypen abstrakte Datentypen generische Implementierung datengesteuerte Programmierung Operationstabelle 10.1 Abstrakte Datentypen Bisher: Konkrete Datentypen Menge von Elementen Operationen

Mehr

Informatik II Übung, Woche 14

Informatik II Übung, Woche 14 Giuseppe Accaputo 7. April, 2016 Plan für heute 1. Java Klassen Beispiel: Implementation eines Vorlesungsverzeichnis (VVZ) 2. Informatik II (D-BAUG) Giuseppe Accaputo 2 Java Klassen Beispiel: Implementation

Mehr

Abstrakte Datentypen und Datenstrukturen

Abstrakte Datentypen und Datenstrukturen Abstrakte Datentypen und Datenstrukturen Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 3. VO DAP2 SS 2009 21. April 2009 1 Praktikum zu DAP 2 Beginn: Mittwoch

Mehr

Algorithmen und Datenstrukturen Abstrakte Datentypen. M. Herpers, Y. Jung, P. Klingebiel

Algorithmen und Datenstrukturen Abstrakte Datentypen. M. Herpers, Y. Jung, P. Klingebiel Algorithmen und Datenstrukturen Abstrakte Datentypen M. Herpers, Y. Jung, P. Klingebiel 1 Lernziele Die abstrakten Datentypen Stapel, Warteschlange und Liste sind bekannt und können angewendet werden Listen

Mehr

Haskell for Hackers... or why functional programming matters

Haskell for Hackers... or why functional programming matters ... or why functional programming matters Franz Pletz CCC München 27-06-2009 @ GPN8 Fahrplan Ablauf Motivation 1 Ablauf Motivation 2 3 4 Ablauf Ablauf Motivation bei Fragen/Unklarheiten:

Mehr