Gliederung. 5. Compiler. 6. Sortieren und Suchen. 7. Graphen
|
|
- Anna Morgenstern
- vor 6 Jahren
- Abrufe
Transkript
1 Gliederung 5. Compiler 1. Struktur eines Compilers 2. Syntaxanalyse durch rekursiven Abstieg 3. Ausnahmebehandlung 4. Arrays und Strings 6. Sortieren und Suchen 1. Grundlegende Datenstrukturen 2. Bäume 3. B-Bäume und Tries 4. Sortieren in Vektoren 5. Streuspeicherung 7. Graphen 1. Darstellung und Topologisches Sortieren 2. Kürzeste Wege 3. Fluß- und Zuordnungsprobleme
2 Überblick Grundlegende Datenstrukturen Wie können mehrere Objekte einer gleichen Klasse in einem Objekt zusammengefasst werden, ohne vorher die Anzahl der Elementen festzulegen? Wie werden Operationen auf dynamischen Datenstrukturen spezifiziert? Welche Arten dynamischer Datenstrukturen gibt es?
3 Abstrakte Datentypen Ein abstrakter Datentyp (ADT) ist eine Datenstruktur zusammen mit darauf definierten Operationen. Bei der Festlegung von ADTs werden Aspekte der konkreten Implementierung nicht berücksichtigt In Java können ADTs durch Definition von Interfaces spezifiziert werden Beispiele von ADTs: Keller (engl. Stacks), Schlangen (engl. Queues) verkettete Listen. 3
4 Datenstruktur: Stack Ein Stack (Stapel- oder Kellerspeicher) ist eine Folge von Elementen a 1,..., a m Nur am Ende der Folgen können Elemente gelesen, gelöscht oder hinzugefügt werden (top) Das zuletzt eingefügte Element wird zuerst entfernt: LIFO-Prinzip (Last-In First-Out) a m Oben (top) a m-1... a... 2 a 1 4
5 Beispiele für Stack: Stapel von Münzen Stapel von Tellern Stapel von Akten Datenstruktur: Stack 5
6 Stack: Anwendbare Operationen (1) push : Stack X Objekt Stack Mit der Operation push legt man ein Element auf dem Stapel ab 6
7 Stack: Anwendbare Operationen (2) pop : Stack Stack Mit der Operation pop entfernt man das oberste Element eines Stapels top : Stack Objekt Mit der Operation top erhält man das oberste Element eines Stapels 7
8 Stack: Anwendbare Operationen (3) push : Stack X Objekt Stack legt Element auf Keller pop : Stack Stack entfernt oberstes Element top : Stack Objekt liefert oberstes Element empty : Stack boolean liefert true, falls Keller leer ist Merke: Die Operationen pop und top sind nur zulässig, wenn der Stapel nicht leer ist 8
9 Stack: Definition der Schnittstelle Schnittstellendefinition public interface Stack { public void push (Object obj) throws StackException; public Object pop () throws StackException; public Object top () throws StackException; public boolean isempty (); 9
10 Stack: Implementierung (1) Implementierung mit Hilfe eines Arrays Nachteil: Größe des Arrays kann nicht verändert werden public class ArrayStack implements Stack { private Object elements[] = null; // Array von Elementen private int num = 0; num: speichert die aktuelle Anzahl von Elementen. Wird beim push inkrementiert, beim pop dekrementiert public ArrayStack (int size) { elements = new Object [size]; public ArrayStack () { elements = new Object [100]; Konstruktor mit vorgegebener Kapazität Konstruktor mit Standardkapazität: Stack wird mit einem Array von 100 Elementen Angelegt 10
11 Stack: Implementierung (2) public void push (Object obj) throws StackException { if (num == elements.length - 1) Ausnahme falls Kapazität // Kapazität erschöpft erschöpft ist: throw new StackException (); num = elements.length elements[num++] = obj; public Object pop () throws StackException { if (isempty ()) // Stack ist leer throw new StackException (); Object o = elements[--num]; elements[num] = null; return o; 11
12 Stack: Implementierung (3) public Object top () throws StackException { if (isempty ()) throw new StackException (); return elements[num - 1]; public boolean isempty () { return num == 0; true falls num gleich 0 false fals num ungleich 0 12
13 Compilerbau: Stack: typische Anwendungen Auswertung von Postfix-Ausdrücken Syntaktischen Analyse von Programmen Umwandlung von rekursiven Programmen in nicht-rekursive Programme Backtracking-Algorithmen Laufzeitstack bei der Speicherplatzverwaltung von Programmen 13
14 Stack: Auswertung von Postfix-Ausdrücken (1) Beispiel: Arithmetischer Ausdruck (2+4) 2 /(16-7) Postfix-Ausdruck: / Abarbeitung mittels eines Stack von links nach rechts: Das gelesene Datum ist ein Operand: mit push auf dem Stack legen Das gelesene Datum ist ein Operator: auf die obersten n Elemente anwenden und das Ergebnis ersetzt die n Elemente 14
15 Auswertung von Postfix-Ausdrücken (2) / / 2 8. / / / / 36 Ergebnis= / /
16 Datenstruktur: Queue Ein Queue (Warteschlange) ist eine Folge von Elementen a 1,..., a m mit den folgenden Eigenschaften: Nur am Anfang der Folge (vorne) können Elemente gelesen und gelöscht werden können. Am anderen Ende (hinten) können Elemente hinzugefügt werden Das zuerst eingefügte Element wird zuerst entfernt: FIFO-Prinzip (First-In First-Out) a 1 a 2... A m-1 a m Anfang Ende 16
17 Queue: anwendbare Operationen enter : Queue X Objekt Queue fügt Element hinten ein leave : Schlange Queue entfernt vorderstes Element front : Queue Objekt liefert vorderstes Element empty : Queue boolean liefert true, falls die Schlange leer ist 17
18 Datenstruktur: Queue Beispiele für Warteschlangen Warteschlange an der Ladenkasse Warteschlange in der Mensa Warteschlange im Stau 18
19 Queue: Typische Anwendungen Nutzung gemeinsamer Betriebsmittel (z.b. Druckerwarteschlange, Warteschlangen für Prozessoren, usw.) Bearbeitung von von Erzeuger-/Verbraucher-Problemen Branch-and-Bound-Algorithmen für Suchprobleme in Bäumen und Graphen 19
20 Beispiel: Erzeuger / Verbraucher - Probleme Ein Produzent erzeugt (Waren-)Objekte, die von einem Konsumenten weiterverarbeitet werden Der Produzent legt die Objekte in einem Puffer ab, der Konsument entnimmt die benötigten Objekte aus dem Puffer. do { Elem x = produce (); while (q.istvoll()) warte(); Q.enter(x) while (!fertig); do { if (! q.istleer()) { Elem x = Q.front (); consume(x); 20
21 Queue: Definition der Schnittstelle Benötigte Methoden void enter(object obj) Object leave () Object front () boolean isempty() Schnittstellendefinition public interface Queue { public void enter (Object obj) throws QueueException; public Object leave () throws QueueException; public Object front () throws QueueException; public boolean isempty (); 21
22 Queue: Implementierung durch ein Array (1) Implementierung mit Array A: Maximale Warteschlangengröße = A.length Zwei Indizes markieren Anfang und Ende der Warteschlange Anfang zeigt auf das vordere Element Ende zeigt auf die nächste freie Stelle Element x in Warteschlange einfügen: x wird an Position A[Ende] gespeichert und Ende wird inkrementiert Element x aus Warteschlange entfernen: Anfang inkrementieren Y X D A T E N U V Anfang Ende 22
23 Queue: Implementierung durch ein Array (2) Problem: Falls Anfang und Ende nur inkrementiert werden würden, wird Indexbereich des Arrays überschritten Lösungen Das erste Element ist immer an Position 0, nach jedem entfernen eines Elements aus dem Array, müssen alle Elemente nach links verschoben werden -> wenig praktikabel! Indexbereich des Arrays als zyklische Liste betrachten 23
24 Queue: Implementierung durch zirkuläres Array Indexbereich als zyklische Liste: das erste Element folgt auf das letzte! Für jeden Index ist die nächste Position modulo Max. Warteschlangengröße Anfang Ende Falls Anfang= Ende kann die Warteschlange leer oder voll sein Letzte Operation war enter: Warteschlange ist voll Letzte Operation war leave: Warteschlange leer Verwendung einer boolesche Variable voll, um Zustand der Warteschlange zu protokollieren 24
25 Queue: Implementierung durch ein Array (3) Implementierung auf der Basis eines Arrays Nachteil: Die Queue kann nicht dynamisch wachsen public class ArrayQueue implements Queue { private Object[] elements; // Elemente private int Anfang =0; private int Ende =0; // Queue mit vorgegebener Kapazität erzeugen public ArrayQueue (int size) { elements = new Object[size]; Konstruktor mit vorgegebener Kapazität // Queue mit Standardkapazität erzeugen public ArrayQueue () { Konstruktor mit Standardkapazität: elements = new Object[100]; Warteschlange wird mit einem Array von 100 Elementen Angelegt 25
26 Queue: Implementierung durch ein Array (4) public void enter (Object obj) throws QueueException { if (istvoll()) throw new QueueException ( Überlauf! ); elements[ende] = obj; Objekt in Array aufnehmen Ende = next(ende); Ende-Index fortschalten voll =(Anfang == Ende); Zustand speichern: voll falls Anfang = Ende, public Object leave () throws QueueException { sonst nicht voll if (isempty ()) throw new QueueException ( Zugriff auf leere Queue! ); Object obj = elements[anfang]; elements[anfang] = null; // unteren Zeiger aktualisieren Anfang = next(anfang); voll = false; return obj; Anfang-Index fortschalten Nach leave darf die Queue nicht voll sein 26
27 Queue: Implementierung durch ein Array (5) public Object front () throws QueueException { if (isempty ()) throw new QueueException ( Zugriff auf leere Queue ); return elements[anfang]; public int next(int n){ return (n+1)%elements.length; public boolean isvoll () { return voll; public boolean isempty () { return ((Anfang == Ende) && (voll!= false) ); true falls Anfang gleich Ende False sonst Anfang kann gleich Ende sein und die Queue ist voll! Dieser Fall wird damit abgefangen! 27
28 Datenstruktur: Liste Eine (verkettete) Liste (linked list) ist eine dynamische Folge von Elementen a 1,..., a m mit den folgenden Eigenschaften: Im Gegensatz zu Arrays können Listen zur Laufzeit beliebig wachsen und verändert werden. Jedes Listenelement hat zwei Komponenten Inhalt Das eigentlich zu speichernde Element. Kann ein beliebiges Objekt oder ein primitiver Datentyp sein. Referenz auf das nachfolgende Element 28
29 Datenstruktur: Liste Für die Navigieren in einer Liste muss das erste Element erreichbar sein: Der Anker für den Beginn der Liste wird mit Head bezeichnet Das letzte Element verweist auf null Für eine einfache Handhabung kann eine bestimmte Position als "aktuell" ausgezeichnet werden. Eine solche Position wird auch Cursor genannt. head Objekt 1 next Objekt 2 next Objekt 3 next X null Cursor (2) 29
30 Elemente in Listen einfügen Beim Einfügen eines neuen Elements in eine Liste gibt es drei Möglichkeiten: Prepend: Einfügen vor dem ersten Listenelement Das erste Listenelement wird zum Nachfolger des neuen Elements head zeigt auf das neue Element. Insert: Einfügen hinter einem gegebenen Element next des neuen Elements übernimmt den Wert next des aktuellen Elements. current.next wird auf das neue Element gesetzt. Append: Einfügen als letztes Element current.next des letzten Listenelements wird auf die Referenz des neuen Elements gesetzt Ein Sonderfall von insert. 30
31 Verkettete Liste: Anwendbare Operationen addfirst : Liste X Objekt Liste fügt ein Element am Anfang der Liste ein (entspricht prepend ) addlast : Liste X Objekt Liste fügt ein Element am Ende der Liste ein (entspricht append ) removefirst : Liste Liste löscht das erste Element removelast : Liste Liste löscht das letzte Element getfirst : Liste Objekt liefert das erste Element getlast : Liste Objekt liefert das letzte Element empty : Liste boolean liefert true, falls Liste leer ist size : Liste int liefert Anzahl der Elementen in der Liste 31
32 Einfügen vor dem ersten Listenelement Operation AddFirst: head bekommt Referenz auf das neue Objekt Objekt 0 head next X Objekt 1 next Objekt 2 next Objekt 3 next X null 32
33 Einfügen als letztes Element Operation AddLast 1. Letzte Element finden 2. Next-Referenz auf neues Element Aufwand ist abhängig der Anzahl der Elementen in der Liste Objekt 4 head next Objekt 1 next Objekt 2 next Objekt 3 next X X null 33
34 Das letzte Element löschen Operation removelast 1. Vorletztes Element finden 2. Next-Referenz des vorletzten Elements auf null setzten Aufwand ist abhängig der Anzahl der Elementen in der Liste head Objekt 1 next Objekt 2 next Objekt 3 next X null 34
35 Komplexität der Listenoperationen Operation AddFirst getfirst removefirst AddLast getlast removelast Komplexität O(1) O(n) 35
36 Verkettete Liste: Definition der Schnittstelle public interface Liste { public void addfirst (Object o) public void addlast (Object o) public Object removefirst () public Object removelast () public Object getfirst () public Object getlast () public boolean isempty () public int size () 36
37 Verkettete Liste: Definition von Listenelementen class Node { Object obj; Node next; public Node (Object o, Node n) { obj = o; next = n; public Node () { obj = null; next = null; public void setelement (Object o) { obj = o; public Object getelement () { return obj; public void setnext (Node n){ next = n; public Node getnext () { return next; 37
38 Verkettete Liste: Implementierung public class List { private Node head = null; public List () { head = new Node (); public void addfirst (Object o) { Node n = new Node (o, head.getnext ()); head.setnext (n); public void addlast (Object o) { Node l = head; while (l.getnext ()!= null) l = l.getnext (); Node n = new Node (o, null); l.setnext (n); public Object getfirst () throws ListEmptyException { if (isempty ()) throw new ListEmptyException (); return head.getnext ().getelement (); public Object getlast () throws ListEmptyException { if (isempty ()) throw new ListEmptyException (); Node l = head; while (l.getnext ()!= null) l = l.getnext (); return l.getelement (); public Object removefirst () throws ListEmptyException { if (isempty ()) throw new ListEmptyException (); Object o = head.getnext ().getelement (); head.setnext (head.getnext ().getnext ()); return o; public boolean isempty () { return head.getnext () == null; 38
39 Verkettete Liste: Implementierung public Object removelast () throws ListEmptyException { if (isempty ()) throw new ListEmptyException (); Node l = head; while (l.getnext ().getnext ()!= null) l = l.getnext (); Object o = l.getnext ().getelement (); l.setnext (null); return o; public int size () { int s = 0; Node n = head; while (n.getnext ()!= null) { s++; n = n.getnext (); return s; 39
40 Verkettete Listen: Zusammenfassung Vorteile von verkettete Listen : Dynamische Länge Keine Speicherverschwendung durch Vorreservierung des Speicherplatzes Einfache Einfüge- und Löschoperationen In den Listenelementen enthaltene Objekte können beliebige Objekte untergebracht werden Nachteile: Zugriff erfolgt immer sequentiell Aufwand für Suche nach einem Listen-Element: Da es sich um eine lineare Suche handelt, gilt Aufwand = O(1) im günstigsten Fall bzw. O(n) in den anderen Fällen. 40
41 Doppelt verkettete Listen Die doppelt verkettete Liste ist eine spezielle verkettete Liste bei der jedes Element sowohl seinen Nachfolger als auch seinen Vorgänger kennt tail zeigt auf das Ende der Liste Merke: Die Operationen AddLast, getlast und removelast sind nun mit konstantem Aufwand realisierbar! head tail Objekt 1 Objekt 1 Objekt 1 next next next X null Prev. Prev. Prev. X null 41
42 Komplexität der Listenoperationen Operation AddFirst getfirst removefirst AddLast getlast removelast Komplexität O(1) 42
43 Das Iterator-Konzept (1) Das Durchwandern (über alle Elemente zu navigieren) einer Kollektion ist abhängig der Implementierung Bei der Benutzung von Arrays für die Implementierung einer Kollektion wird eine Indexvariable verwendet Bei der Benutzung von Listen für die Implementierung einer Kollektion wird die next-referenz verwendet Notwendigkeit einer einheitlichen Behandlung des Navigierens unabhängig der internen Realisierung der Kollektion Iteratoren sind Objekte zum Iterieren über Kollektionen, deren Klasse die vordefinierte Java-Schnittstelle java.util.iterator implementiert 43
44 Das Iterator-Konzept (2) Ein Iterator verwaltet einen internen Zeiger auf die aktuelle Position in der zugrunde liegende Datenstruktur Mehrere Iteratoren können gleichzeitig auf eine Kollektion operieren Iterator über Array Iterator über Liste 44
45 Die Schnittstelle Iterator Die Schnittstelle java.util.iterator definiert folgende Methoden Boolean hasnext() Prüft, ob noch weitere Elemente in der Kollektion verfügbar sind Object next() Liefert das aktuelle Element zurück und setzt den internen Zeiger des Iterators auf das nächste Element void remove Löscht das aktuelle Element 45
46 Das Java Collection Framework Grundlegende Datenstrukturen wie Liste, Stack und Warteschlange müssen nicht immer neu implementiert werden Im Java Collection Framework sind entsprechende Klassen verfügbar (z.b. ArrayList, Stack, Vector,...) Im Java Collection Framework werden Schnittstellen und Implementierungen angeboten (z.b. Schnittstelle List und Array-basierte Implementierung ArrayList) Die Schnittstelle java.util.collection bildet die Basis für die spezielleren Schnittstellen List, Set und SortetSet Die Schnittstelle Map definiert Methoden für die Verwaltung von Schlüssel-Wert-Paare 46
Teil IV. Grundlegende Datenstrukturen
Teil IV Grundlegende Datenstrukturen Überblick 1 Abstrakte und konkrete Datentypen 2 Stacks 3 Listen 4 Warteschlangen 5 Iterator Prof. G. Stumme Algorithmen & Datenstrukturen Sommersemester 2009 4 1 Abstrakte
MehrALP 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
MehrProblem: Was ist, wenn der Stapel voll ist? Idee: Erzeuge dynamisch ein grösseres Array und kopiere um. Dynamische Anpassung der Größe
Maximale Größe?! Problem: Was ist, wenn der Stapel voll ist? Idee: Erzeuge dynamisch ein grösseres Array und kopiere um Dynamische Anpassung der Größe Praktische Informatik I, HWS 2009, Kapitel 10 Seite
MehrALP 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
MehrEinstieg in die Informatik mit Java
1 / 15 Einstieg in die Informatik mit Java Collections Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 15 1 Überblick Collections 2 Hierarchie von Collections 3 Verwendung
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen
Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1 Kapitel 11 Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 2 Ziele Implementierungen für
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 13. Listen. Listen 1
Kapitel 13 Listen Listen 1 Ziele Implementierungen für Listen kennenlernen Einfach verkettete und doppelt verkettete Listen verstehen Listen-Implementierungen in der Java-Bibliothek kennenlernen Durch
MehrSchnittstellen, Stack und Queue
Schnittstellen, Stack und Queue Schnittstelle Stack Realisierungen des Stacks Anwendungen von Stacks Schnittstelle Queue Realisierungen der Queue Anwendungen von Queues Hinweise zum Üben Anmerkung: In
Mehr12. Dynamische Datenstrukturen
Motivation: Stapel. Dynamische Datenstrukturen Verkettete Listen, Abstrakte Datentypen Stapel, Warteschlange, Implementationsvarianten der verketteten Liste 0 04 Motivation: Stapel ( push, pop, top, empty
MehrWiederholung: 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
MehrStacks, 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
MehrVerkettete Listen. DVG Verkettete Listen 1
Verkettete Listen DVG2-03 - Verkettete Listen 1 Primitive typen Vorteile: werden direkt vom Prozessor unterstützt schneller Zugriff schnelle Verarbeitung Nachteile: kleine menge feste Struktur unflexibel
MehrOCP Java SE 8. Collections
OCP Java SE 8 Collections Collections (Interfaces) Iterable Collection Set List Queue SortedSet Deque Collection List erlaubt Duplikate und null behält die Reihenfolge Set erlaubt keine Duplikate Queue
MehrKapitel 4: Datentyp Keller und Schlange
Kapitel 4: Datentyp Keller und Schlange Keller (Stack) Schlange (Queue) 4-1 Definition Keller und seine Operationen Ein Keller (engl. Stack; Stapel) ist eine endliche Menge von Elementen mit einer LIFO-Organisation
MehrAlgorithmen 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
MehrProgrammieren I. Kapitel 13. Listen
Programmieren I Kapitel 13. Listen Kapitel 13: Listen Ziel: eigene Datenstrukturen erstellen können und eine wichtige vordefinierte Datenstruktur( familie) kennenlernen zusammengehörige Elemente zusammenfassen
MehrAbstrakter 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
MehrCounting - 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
MehrGrundlagen 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.
MehrLineare Datenstrukturen: Felder, Vektoren, Listen Modelle: math. Folge (a i ) i=1.. mit Basistyp T oder: [T]
Teil II: Datenstrukturen Datenstrukturen Lineare Datenstrukturen: Felder, Vektoren, Listen Modelle: math. Folge (a i ) i=1.. mit Basistyp T oder: [T] Nichtlineare Datenstrukturen: Bäume Modell(e): spezielle
MehrAlgorithmen 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
MehrSchwerpunkte. 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
MehrALP II Dynamische Datenmengen
ALP II Dynamische Datenmengen Teil III Iteratoren Iterator-Objekt O1 O2 O3 O4 SS 2012 Prof. Dr. Margarita Esponda 22. ALP2-Vorlesung, M. Esponda 2 Motivation: Iteratoren Wir haben für die Implementierung
MehrVerkettete Listen. Implementierung von einfach verketteten Listen. Implementierung von doppelt verketteten Listen
Verkettete Listen Verwendung von Listen in Java Das Prinzip des Iterators Implementierung von einfach verketteten Listen Implementierung von doppelt verketteten Listen Informatik II: Objektorientierte
MehrJAVA KURS COLLECTION
JAVA KURS COLLECTION COLLECTIONS Christa Schneider 2 COLLECTION Enthält als Basis-Interface grundlegende Methoden zur Arbeit mit Collections Methode int size() boolean isempty() boolean contains (Object)
Mehr1 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;
Mehr11. 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
MehrStapel (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).
MehrProgramm 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
MehrAdvanced Programming in C
Advanced Programming in C Pointer und Listen Institut für Numerische Simulation Rheinische Friedrich-Wilhelms-Universität Bonn Oktober 2013 Überblick 1 Variablen vs. Pointer - Statischer und dynamischer
MehrTheoretische Informatik 1 WS 2007/2008. Prof. Dr. Rainer Lütticke
Theoretische Informatik 1 WS 2007/2008 Prof. Dr. Rainer Lütticke Inhalt der Vorlesung Grundlagen - Mengen, Relationen, Abbildungen/Funktionen - Datenstrukturen - Aussagenlogik Automatentheorie Formale
MehrAufgaben NF 11; Seite 1
Aufgabe Ref 1: Gegeben ist die Klasse Schueler public class Schueler { private String name, vorname, kurs; // Konstruktor public Schueler(String n, String vn, String k) { name=n; vorname=vn; kurs=k; public
Mehr6. Verkettete Strukturen: Listen
6. Verkettete Strukturen: Listen 5 K. Bothe, Inst. f ür Inf., HU Berlin, PI, WS 004/05, III.6 Verkettete Strukturen: Listen 53 Verkettete Listen : Aufgabe Vergleich: Arrays - verkettete Listen Listenarten
Mehr3. Übungsblatt zu Algorithmen I im SoSe 2017
Karlsruher Institut für Technologie Prof. Dr. Jörn Müller-Quade Institut für Theoretische Informatik Björn Kaidel, Sebastian Schlag, Sascha Witt 3. Übungsblatt zu Algorithmen I im SoSe 2017 http://crypto.iti.kit.edu/index.php?id=799
MehrProgrammieren 2 16 Java Collections und Generizität
Programmieren 2 16 Java Collections und Generizität Bachelor Medieninformatik Wintersemester 2015 Dipl.-Inform. Ilse Schmiedecke schmiedecke@beuth-hochschule.de 1 Faulheit professionell: Fertige Datenbehälter
MehrVerkettete Datenstrukturen: Listen
Verkettete Datenstrukturen: Listen 2 Listen Formal: Liste = endliche Folge von Elementen [a 1, a 2,..., a n ]. Spezialfall: leere Liste [ ]. Länge einer Liste = Anzahl der Elemente (bei leerer Liste: 0).
MehrAlgorithmen und Datenstrukturen Kapitel 4 Neue Datenstrukturen, besseres (?) Sortieren
Algorithmen und Datenstrukturen Kapitel 4 Neue Datenstrukturen, besseres (?) Sortieren Frank Heitmann heitmann@informatik.uni-hamburg.de 4. November 2015 Frank Heitmann heitmann@informatik.uni-hamburg.de
Mehr8 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.
MehrAlgorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Wiederholung: Ziele der Vorlesung Wissen: Algorithmische
MehrGraphdurchmusterung, 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,
MehrProgrammierkurs Java
Programmierkurs Java Java Generics und Java API (2/2) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/fischer #2 Listen Bisher: Collections
MehrDatenstrukturen und Abstrakte Datentypen
Datenstrukturen und Abstrakte Datentypen Abstrakter Datentyp Idee der sequentiellen Struktur Einfach verkettete Liste Iteratorkonzept Prof. Dr. E. Ehses, 2014 1 Definition: Ein abstrakter Datentyp (ADT)
MehrProgrammierkurs Java
Programmierkurs Java Java Generics und Java API (1/2) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/fischer Datenstrukturen In vielen Sprachen
MehrListen. 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
MehrListen. 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
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Binärbaum Suchbaum Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 356 Datenstruktur Binärbaum Strukturrepräsentation des mathematischen Konzepts Binärbaum
Mehr5. Strukturen und Algorithmen
5. Strukturen und Algorithmen Struktur 5.1 Modellierung allgemein Element Kabel1 Lampe Kabel2 Objekte der Struktur Struktur -> Klasse Element -> Klasse Datenstruktur Dr. Norbert Spangler / Grundlagen der
MehrAbstrakte Datentypen und Java
Abstrakte Datentypen und Java ƒ hehueolfn ƒ 5HDOLVLHUXQJYRQ$'7 NRQNUHWH'DWHQW\SHQ %HLVSLHO5DWLRQDOH=DKO ƒ 3DUDPHWULVLHUWH'DWHQW\SHQ %HLVSLHO)HOG6RUWLHUWHV)HOG ƒ 6FKQLWWVWHOOHQNRQ]HSW ƒ :LFKWLJH'DWHQW\SHQLQ-DYD
MehrAlgorithmen und Datenstrukturen (für ET/IT) Wiederholung: Ziele der Vorlesung. Wintersemester 2012/13. Dr. Tobias Lasser
Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Wiederholung: Ziele der Vorlesung Wissen: Algorithmische
MehrEinführung in die Informatik I
Einführung in die Informatik I Einige wichtige Datenstrukturen: Vektor, Matrix, Liste, Stapelspeicher, Warteschlange Prof. Dr. Nikolaus Wulff Datenstruktur / Datentyp Programme benötigen nicht nur effiziente
Mehr3. Verkettete Listen, Stacks, Queues
3. Verkettete Listen, Stacks, Queues Verkettete lineare Listen - Einfache Verkettung - Doppelt verkettete Listen - Vergleich der Implementierungen - Iterator-Konzept Fortgeschrittenere Kettenstrukturen
MehrVerkettete Speicherung linearer Listen. 3. Verkettete Listen, Stacks, Queues. Implementierung 1(Forts.) Verkettete Liste: Implementierung 1
3. Verkettete Listen, Stacks, Queues Verkettete lineare Listen - Einfache Verkettung - Doppelt verkettete Listen - Vergleich der Implementierungen - Iterator-Konzept Fortgeschrittenere Kettenstrukturen
MehrEinführung in die Informatik 2
Einführung in die Informatik 2 Listen & Bäume Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 SvenKosub@uni-konstanzde Sprechstunde: Freitag, 14:00-15:00 Uhr, onv Sommersemester
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dynamische Datenobjekte Pointer/Zeiger, Verkettete Liste Eigene Typdefinitionen 1 Zeigeroperatoren & und * Ein Zeiger ist die Speicheradresse irgendeines Objektes. Eine
MehrJava Einführung Collections
Java Einführung Collections Inhalt dieser Einheit Behälterklassen, die in der Java API bereitgestellt werden Wiederholung Array Collections (Vector, List, Set) Map 2 Wiederholung Array a[0] a[1] a[2] a[3]...
MehrSchein-/Bachelorklausur Teil 2 am Zulassung: Mindestens 14 Punkte in Teilklausur 1 und 50% der Übungspunkte aus dem 2. Übungsblock.
Schein-/Bachelorklausur Teil 2 am 13.02.2007 Zulassung: Mindestens 14 Punkte in Teilklausur 1 und 50% der Übungspunkte aus dem 2. Übungsblock. Alle Studiengänge außer Bachelor melden sich über die Lehrstuhlwebseite
MehrProgrammieren in C. Rekursive Strukturen. Prof. Dr. Nikolaus Wulff
Programmieren in C Rekursive Strukturen Prof. Dr. Nikolaus Wulff Rekursive Strukturen Häufig müssen effizient Mengen von Daten oder Objekten im Speicher verwaltet werden. Meist werden für diese Mengen
Mehrpublic interface Stack<E> { public void push(e e); public E pop();
ADS Zusammenfassung René Bernhardsgrütter 02.04.2012 1 Generics Gewähren Typsicherheit und können für verschiedene Datentypen ohne Casts verwendet werden. Beim Erstellen der Klasse werden Platzhalter für
MehrTeil V. Generics und Kollektionen in Java
Teil V Generics und Überblick 1 Parametrisierbare Datenstrukturen in Java 2 Prof. G. Stumme Algorithmen & Datenstrukturen Sommersemester 2009 5 1 Parametrisierbare Datenstrukturen in Java Motivation für
MehrKapitel 7: Java Collection Teil I
Kapitel 7: Java Collection Teil I! Übersicht! Bemerkungen! Collection! List! LinkedList und ArrayList! Queue und Deque! ArrayDeque Prof. Dr. O. Bittel, HTWG Konstanz Programmiertechnik II Java Collection
MehrTeil VII. Hashverfahren
Teil VII Hashverfahren Überblick 1 Hashverfahren: Prinzip 2 Hashfunktionen 3 Kollisionsstrategien 4 Aufwand 5 Hashen in Java Prof. G. Stumme Algorithmen & Datenstrukturen Sommersemester 2009 7 1 Hashverfahren:
MehrInformatik II Prüfungsvorbereitungskurs
Informatik II Prüfungsvorbereitungskurs Tag 4, 23.6.2016 Giuseppe Accaputo g@accaputo.ch 1 Programm für heute Repetition Datenstrukturen Unter anderem Fragen von gestern Point-in-Polygon Algorithmus Shortest
MehrAlgorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / Vorlesung 10, Donnerstag 8.
Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2014 / 2015 Vorlesung 10, Donnerstag 8. Januar 2015 (Verkettete Listen, Binäre Suchbäume) Junior-Prof. Dr.
MehrProgrammieren 2 Übung Semesterwoche 2
Programmieren 2 Übung Semesterwoche 2 1. Stack (LIFO: Last-In--First-Out) Implementieren und testen Sie eine Klasse Stack, so dass beliebig viele Objekte eines vorgegebenen Datentyps (z. B. String) auf
MehrStand 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
MehrADT: Verkettete Listen
ADT: Verkettete Listen Abstrakter typ - Definition public class Bruch int zaehler, nenner; public Bruch(int zaehler, int nenner) this.zaehler = zaehler; this.nenner = nenner; Konstruktor zum Initialisieren
MehrTechnische 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
MehrGrundkonzepte java.util.list
Grundkonzepte java.util.list Eine List ist eine Spezialisierung einer allgemeinen Ansammlung (Collection): Lineare Ordnung ist definiert Zugriff über Rang oder Position Volle Kontrolle wo eingefügt bzw.
MehrKapitel 12: Induktive
Kapitel 12: Induktive Datenstrukturen Felix Freiling Lehrstuhl für Praktische Informatik 1 Universität Mannheim Vorlesung Praktische Informatik I im Herbstsemester 2009 Folien nach einer Vorlage von H.-Peter
MehrÜbungsblatt Programmierung und Software-Entwicklung Generizität, Interfaces, Listen, Sortieralgorithmen & JUnit
Übungsblatt Programmierung und Software-Entwicklung Generizität, Interfaces, Listen, Sortieralgorithmen & JUnit Aufgabe : Die allgemeine Object-Liste Gegeben sei folgendes UML-Klassendiagramm: MyObjectList
MehrEinfach verkettete Liste
5. Listen Verkettete Listen Einfach verkettete Liste Für jedes einzelne Element der Liste wird ein Hilfsobjekt erzeugt. Jedes Hilfsobjekt enthält zwei Instanzvariablen: den zu speichernden Wert bzw. einen
Mehr13. Bäume: effektives Suchen und Sortieren
Schwerpunkte Aufgabe und Vorteile von Bäumen 13. Bäume: effektives Suchen und Sortieren Java-Beispiele: Baum.java Traverse.java TraverseTest.java Sortieren mit Bäumen Ausgabealgorithmen: - Preorder - Postorder
MehrÜ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Übung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2017 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda: Kürzeste Wege, Heaps, Hashing Heute: Kürzeste Wege: Dijkstra Heaps: Binäre Min-Heaps Hashing:
Mehr3 Dynamische Datenstrukturen
3 Dynamische Datenstrukturen Beispiele für dynamische Datenstrukturen sind Lineare Listen Schlangen Stapel Bäume Prof. Dr. Dietmar Seipel 128 Praktische Informatik I - Algorithmen und Datenstrukturen Wintersemester
MehrInformatik 11 Kapitel 2 - Rekursive Datenstrukturen
Fachschaft Informatik Informatik 11 Kapitel 2 - Rekursive Datenstrukturen Michael Steinhuber König-Karlmann-Gymnasium Altötting 15. Januar 2016 Folie 1/77 Inhaltsverzeichnis I 1 Datenstruktur Schlange
Mehr3.3. Rekursive Datentypen
3.3. Rekursive Datentypen class Element int info; Element naechster;... Element element = new Element(); element.info = 1; element.naechster = new Element(); element.naechster.info = 2; Erläuterung: Objekte
MehrLogische Datenstrukturen
Lineare Listen Stapel, Warteschlangen Binärbäume Seite 1 Lineare Liste Begriffe first Funktion: sequentielle Verkettung von Datensätzen Ordnungsprinzip: Schlüssel Begriffe: first - Anker, Wurzel; Adresse
MehrAlgorithmen und Datenstrukturen 11
5. Juli 2012 1 Besprechung Blatt 10 Fragen 2 Hashing Allgemein, Hashtablestruktur Sondierungsverfahren 3 Anonyme und innere Klassen Anonyme Klassen Innere Klassen 4 Zirkuläre Arrays 5 Vorbereitung Blatt
MehrGrundlagen: Algorithmen und Datenstrukturen
Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2010
MehrInformatik 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
MehrEinführung in die STL
Einführung in die STL Fimberger Lucia lfimberg@cosy.sbg.ac.at Nidetzky Marion mnidetzk@cosy.sbg.ac.at Was ist die STL? Abkürzung für Standard Template Library Eine generische Bibliothek Ist kaum objektorientiert,
MehrAlgorithmen I. Tutorium 1-3. Sitzung. Dennis Felsing
Algorithmen I Tutorium 1-3. Sitzung Dennis Felsing dennis.felsing@student.kit.edu www.stud.uni-karlsruhe.de/~ubcqr/algo 2011-05-02 Überblick 1 Sortieren und Suchen 2 Mastertheorem 3 Datenstrukturen 4 Kreativaufgabe
MehrInhaltsverzeichnis. Praktikum Algoritmen und Datenstrukturen WS2004/2005 Paul Litzbarski Stefan Nottorf. Druckmanager allgemein 2.
Praktikum Algoritmen und Datenstrukturen WS2004/2005 Paul Litzbarski Stefan Nottorf Inhaltsverzeichnis Druckmanager allgemein 2 Design 2 Druckauftrag 3 Liste 4 ListenEintrag 6 GUI 7 1 Druckmanager : allgemein
Mehr4.4.1 Implementierung vollständiger Bäume mit Feldern. Reguläre Struktur: Nachfolger des Knoten i sind die Knoten 2*i und 2*i+1.
4.4 Implementierung von Bäumen 4.4.1 Implementierung vollständiger Bäume mit Feldern 1 3 2 7 9 3 4 8 5 17 12 10 6 7 8 13 11 18 9 10 Reguläre Struktur: Nachfolger des Knoten i sind die Knoten 2*i und 2*i+1.
MehrProgrammieren in Java
Datenstrukturen 2 Gruppierung von Daten Datentypen, die eine Menge an Daten gruppieren und auf dieser Gruppierung eine gewisse Logik bereitstellen werden Datenstrukturen genannt Bisher wurde zur Gruppierung
MehrEinfache Liste: Ein Stapel (Stack) Ansatz. Schaubild. Vorlesung 1. Handout S. 2. Die einfachste Form einer Liste ist ein Stapel (stack).
Programmieren I Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 64 2 / 64 Motivation Hauptteil dieser Vorlesung sind die so genannten. Zur Motivation (und als Vorbereitung der Datencontainer-Klassen
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 7 (21.5.2014) Binäre Suche, Hashtabellen I Algorithmen und Komplexität Abstrakte Datentypen : Dictionary Dictionary: (auch: Maps, assoziative
MehrC- Kurs 09 Dynamische Datenstrukturen
C- Kurs 09 Dynamische Datenstrukturen Dipl.- Inf. Jörn Hoffmann jhoffmann@informaak.uni- leipzig.de Universität Leipzig InsAtut für InformaAk Technische InformaAk Flexible Datenstrukturen Institut für
MehrAssoziative Container in C++ Christian Poulter
Assoziative Container in C++ Christian Poulter Seminar: Die Sprache C++ Mat-Nr.: 53 03 129 EMail: inf@poulter.de Christian Poulter Assoziative Container in C++ Seite 1/10 Inhalt 1. Einleitung: Container...
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Semestralklausur Einführung in die Programmierung Semestralklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList
Mehr! 1. Rekursive Algorithmen.! 2. Rekursive (dynamische) Datenstrukturen. II.3.2 Rekursive Datenstrukturen - 1 -
! 1. Rekursive Algorithmen! 2. Rekursive (dynamische) Datenstrukturen II.3.2 Rekursive Datenstrukturen - 1 - Ausdruck Ausdruck Grundwert ( Typ ) Präfix-Operator Name Methodenaufruf [ Ausdruck ] ( Ausdruck
MehrAbstrakte 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
Mehr11 Grundlegende Datenstrukturen
11.1 Einführung Datenstrukturen 11.2 Motivation: Kollektionen 11.3 Stack 11.4 Listen 11.5 Kollektionen in Java 11.6 Parametrisierbare Datenstrukturen in Java 188 Teil XI Grundlegende Datenstrukturen 11
Mehr3. Übungsbesprechung Programmkonstruktion
3. Übungsbesprechung Programmkonstruktion Karl Gmeiner karl@complang.tuwien.ac.at December 12, 2011 K Gmeiner (karl@complang.tuwien.ac.at) 3. Übungsbesprechung PK December 12, 2011 1 / 13 Rückblick und
MehrVerkettete Datenstrukturen: Bäume
Verkettete Datenstrukturen: Bäume 1 Graphen Gerichteter Graph: Menge von Knoten (= Elementen) + Menge von Kanten. Kante: Verbindung zwischen zwei Knoten k 1 k 2 = Paar von Knoten (k 1, k 2 ). Menge aller
MehrProgrammierkurs C++ Templates & STL (1/2)
Programmierkurs C++ Templates & STL (1/2) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/fischer #2 Templates Die wichtigsten objekt-orientierten
MehrDatenstrukturen / Container in Java
Datenstrukturen / Container in Java Mathematik / Algebraischer Datentyp / Containerklassen Enum-Klassen Arrays (Felder) = elementare Container Algorithmen mit Arrays Prof. Dr. E. Ehses, 2014 1 Mathematik
Mehr12 Collections Framework. Interfaces Maps and Collections. Collection Interface. Überblick. Collection = Containterklasse, die andere Objekte enthält.
Collection = Containterklasse, die andere Objekte enthält. Inhalte: Schnittstellen Implementierungen Algorithmen Interfaces Maps and Collections Iterable Collection Map Vorteile: Set List Queue SortedMap
MehrBäume. Text. Prof. Dr. Margarita Esponda SS 2012 O4 O5 O6 O ALP2-Vorlesung, M. Esponda
Bäume O1 O2 Text O3 O4 O5 O6 O7 Prof. Dr. Margarita Esponda SS 2012 22. ALP2-Vorlesung, M. Esponda Inhalt 1. Einführung 2. Warum Bäume? 3. Listen und Arrays vs. Bäume 4. Einfach verkettete binäre Suchbäume
Mehr