Algorithmen und Datenstrukturen CS1017
|
|
- Otto Jaeger
- vor 6 Jahren
- Abrufe
Transkript
1 Algorithmen und Datenstrukturen CS1017 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Datenstruktur, Datentyp, Datenabstraktion Abstrakter Datentyp / Datenabstraktion Kollektionen der Java-API Datenmodellierung mit Kollektionstypen
2 Datentyp: Welches Verhalten / welche Nutzbarkeit? Legt fest: Welche Dinge gibt es, wie verhalten sie sich und was kann ich mit ihnen machen. Äußere (Anwender-) Sicht auf Daten und Operationen. Menge von Werten und zugehörigen Operationen Typen: 1. Kasper 2. Prinzessin 3. Großmutter Typen haben ein stereotypisches Verhalten. Ein Kasper ist so wie jeder andere. Seite 2
3 Datenstruktur: Welche Struktur? Festlegung: Wie werden Werte gespeichert, die nicht in eine einzige Variable passen. Innere (Implementierungs-) Sicht auf Daten. Art der Organisation komplexer Werte / Variablen im Speicher Komplexe Werte / Variablen werden im Speicher abgelegt, im Stack oder im Heap Der Heap ist dabei der zentrale Ort in dem Datenstrukturen gespeichert werden. Komplexe Werte / Variablen Datenstrukturen also bestehen immer aus einfacheren Bestandteilen, dieses sind: Werte / Variablen die in einem Array organisiert sind, oder Werte / Variablen die einem Objekte, oder Objekte die mit Zeiger (Pointer) miteinander verknüpft sind. Strukturen: 1. In Reihe 2. Quadratisch 3. Im Glashaus Seite 3
4 Beispiel Stapel (Stack) Datentyp Konzept: Ein Stapel ist eine Kollektion bei der Dinge hinzugefügt und wieder weggenommen werden können. Besonders Kennzeichen ist die Tatsache, dass immer nur das zuletzt hinzugefügte wieder weg genommen werden kann. Werte: Menge an gestapelten Dingen Operationen: Push (ablegen), Pop (entnehmen) Datenstruktur Realität: Die Daten werden so angeordnet, dass nur in bestimmter Art auf sie zugegriffen werden kann. Ich bin ein Stapel, willst Du mein Oberstes, oder etwas auf mich legen? Ich bin ein Stapel, willst Du mein Oberstes, oder etwas auf mich legen? Datentyp Stapel - ein Konzept - Datenstruktur Stapel - eine Realität Seite 4
5 Beispiel Stapel (Stack) Datentyp und Datenstruktur entsprechen sich Die Realität entspricht der Idee: Die Datenstruktur kann nur entsprechend dem Datentyp genutzt werden. Abstrakter Datentyp (ADT): Datentyp entspricht nicht Datenstruktur Organisiere die Nutzung einer Datenstruktur so, dass sie wie ein Stapel genutzt werden kann. Festlegung: Die Daten werden in einem Array gespeichert, eine Variable gibt den aktuellen Füllstand an. Ich bin ein Stapel, willst Du mein Oberstes, oder etwas auf mich legen? Ich bin ein Stapel, willst Du mein Oberstes, oder etwas auf mich legen? Datenstruktur Stapel Ich bin ein Stapel, willst Du mein Oberstes, oder etwas auf mich legen? top Datentyp Stapel abstrakter Datentyp Stapel Seite 5 4
6 Beispiel Stapel (Stack) Ein Stapel ist ein Datentyp. D.h. das Entscheidende sind die Operationen push und pop Die verwendete Datenstruktur Array ist ein Detail der Implementierung. Spezifikation eines Datentyps Problem: Wie kann man einen Datentyp spezifizieren, ohne gleich eine Implementierung anzugeben? Axiomatische Spezifikation Die Wirkung der Operationen wird durch Axiome (Gleichungen) angegeben. Z.B.: s.pop(s.push(x)) = x Spezifikation in einer Metasprache Die Wirkung der Operationen wird in einer anderen als der Implementierungssprache beschrieben. Oft in einer mathematisch inspirierte Notation. Die Spezifikation von Datentypen ist Thema der Softwaretechnik. Seite 6
7 Datentyp ~ Interface Da ein Datentyp die möglichen Operationen beschreibt, entspricht er oft einem Interface. Beispiel: Datentyp Stack als Interface interface Stack<T> { /** * Legt ein Element im Stack ab. x das abzulegende Element IllegalStateException falls der Stack voll ist. */ void push(t x) throws IllegalStateException; /** * Entnimmt dem Stack das zuletzt hinzugefügte Element. das entnommene Element. IllegalStateException falls der Stack leer ist. */ T pop() throws IllegalStateException; Seite 7 Interface / Datentyp: Was kann man mit einem Stack-Objekt machen.
8 Datenstruktur ~ Klassen / Objekte, Variablen, Arrays, Zeiger,... Da eine Datenstruktur die Organisation der Daten beschreibt, entspricht sie einer organisierten Kollektion von Objekten. Oft in einer Klasse zusammengefasst. Beispiel Datenstruktur Stack. Was ist ein Stack, wie ist er aufgebaut: Ein Stack ist leer oder er hat ein Element und einem Stack auf dem es liegt. interface Stack<T> { Datenstruktur: Diese Definition definiert die innere Struktur von Stapeln. Das Interface Stack wird hier zur Realisation des oders genutzt. class EmptyStack<T> implements Stack<T> { class NonEmptyStack<T> implements Stack<T>{ T top; Stack<T> rest; Interface: Der Typ Klavierspieler Seite 8
9 Abstrakter Datentyp: Datentyp mit Datenstruktur selbst implementieren Die Implementierung eines Datentyps bringt diesen mit einer Datenstruktur zusammen. Für einen Datentyp gibt es meist sehr viele Datenstrukturen mit denen er realisiert werden kann. Wird ein Datentyp vom Anwendungs-Programmierer oder von der API zur Verfügung gestellt, dann nennt man ihn abstrakten Datentyp Ein abstrakter Datentyp ist ein Datentyp, der nicht in der Sprache eingebaut ist, sondern selbst (oder von der API) mit eingebauten Datentypen implementiert wird. Implementierung Abstrakter Datentyp Klavierspieler Foto: Michael Lucan, Lizenz: CC-BY-SA 3.0, CC BY-SA 3.0, Seite 9 Interface
10 Abstrakter Datentyp: Datenstruktur und Datentyp zusammen bringen Beispiel: eine Implementierung des Interfaces für selbst-definierte Stapel import java.util.nosuchelementexception; /** * Stack abstraction. * Objects of classes that implement this interface represent * unbounded stacks of int-values. */ public interface IntStack { /** * push on stack. v the value to be pushed v is added on top of stack */ void push(int v); /** * Get top */ int top() element. the element that was pushed last NoSuchElementException if the stack is empty throws NoSuchElementException; /** * Remove top element. top element is removed IllegalStateException if the stack is empty */ void pop() throws IllegalStateException; Seite 10 Datentyp in Java: Interface Diese Definition definiert das Äussere, das Verhalten von Stapeln.
11 Beispiel: eine Implementierung des Interfaces für selbst-definierte Stapel public class RecIntStack implements IntStack { private static interface StackImpl { private static class Empty implements StackImpl { private static class Node implements StackImpl { public Node(int value, StackImpl next) { this.value = value; this.next = next; int value; StackImpl next; private StackImpl stacktop = new Empty(); Implementierung einer Datenstruktur Datenabstraktion = Implementierung eines Datentyps public void push(int v) { stacktop = new Node(v, stacktop); public int top() throws NoSuchElementException { if (stacktop instanceof Empty) throw new NoSuchElementException(); return ((Node)stackTop).value; public void pop() throws IllegalStateException { if (stacktop instanceof Empty) throw new IllegalStateException(); stacktop = ((Node)stackTop).next; Seite 11 Datenabstraktion in Java: Klasse Diese Definition definiert eine Implementierung des Datentyps mit einer Datenstruktur, die den Charakter von Stapeln ans rekursiv definierte Menge ausnutzt. In der Implementierung werden weitere Typen verwendet, die lokal definiert werden.
12 Rekursive Strukturen die in leeren Elementen enden, werden klassisch mit dem nullzeiger realisiert. Hier eine entsprechende Variante des Stapels: public class LinkedIntStack implements IntStack { private static class Node { public Node(int value, Node next) { this.value = value; this.next = next; int value; Node next; statt private Node stacktop = null; private static interface StackImpl { private static class Empty implements StackImpl { private static class Node implements StackImpl { public Node(int value, StackImpl next) { this.value = value; this.next = next; int value; StackImpl next; private StackImpl stacktop = new Empty(); public void push(int v) { stacktop = new Node(v, stacktop); public int top() throws NoSuchElementException { if (stacktop == null) throw new NoSuchElementException(); return stacktop.value; public void pop() throws IllegalStateException { if (stacktop == null) throw new IllegalStateException(); stacktop = ((Node)stackTop).next; Seite 12
13 Die Verwendung des null-zeigers als legalem Wert in korrekten Programmen wird nicht mehr empfohlen! Jeder Zugriff null sollte immer Programm-Fehler bedeuten: Verwende Optional für Dinge die da sind oder nicht. public class LinkedIntStack implements IntStack { private static class Node { public Node(int value, Optional<Node> next) { this.value = value; this.next = next; statt int value; Optional<Node> next; private Optional<Node> stacktop = Optional.empty(); public void push(int v) { stacktop = Optional.of(new Node(v, stacktop)); public int top() throws NoSuchElementException { if (stacktop == null) throw new NoSuchElementException(); return stacktop.get().value; public void pop() throws IllegalStateException { if (stacktop == null) throw new IllegalStateException(); stacktop = stacktop.get().next; Seite 13 private static class Node { public Node(int value, Node next) { this.value = value; this.next = next; int value; Node next; private Node stacktop = null;
14 Natürlich können Stapel auch auf andere Art implementiert werden, z.b. mit Arrays: import java.util.arrays; import java.util.nosuchelementexception; public class ArrayIntStack implements IntStack { int[] elements = new int[32]; int actsize = 0; // number of elements in stack public void push(int v) { if (actsize == elements.length) { elements = Arrays.copyOf(elements, 2*actSize); elements[actsize++] = v; public int top() throws NoSuchElementException { if (actsize == 0) throw new NoSuchElementException(); return elements[actsize]; public void pop() throws IllegalStateException { if (actsize == 0) throw new IllegalStateException(); actsize--; Seite 14
15 Manchmal werden die Begriffe Datenstruktur und Datentyp nicht streng getrennt. Manches kann als Datenstruktur und als Datentyp angesehenen werden. interface Stack { Verhalten / Können definiert wie oben Das ist / kann ein Stack class RecStack implements Stack<T> { Ein RecStack ist ein Stack In seinem Innern werkeln Objekte vom Typ Stack. Sie bilden eine Datenstruktur die über die Variable stack zugreifbar ist. // Definition der Typen für die Datenstruktur interface Stack { class EmptyStack implements Stack { class NonEmptyStack implements Stack{... // Die Datenstruktur Stack stack = new EmptyStack(); // Implementierung der Interface-Methoden public void push(t x) throws IllegalStateException { public T pop() throws IllegalStateException { Seite 15 Stacks, Stacks und RecStacks sind Stacks und stack ist ein Stack, aber stack ist kein Stack und kein RecStack!
16 Kollektionen der Java-API Kollektionstypen in der Java-API Kollektionen der Java API Das Paket java.util enthält Schnittstellen und Klassen zum Umgang mit Kollektionen Collection Framework Zusammenhängendes System aus Klassen- und Interface-Definitionen in der Klassenbibliothek Sollte jeder Java-Entwickler gut kennen: Erhöht die Produktivität wesentlich Andere Sprachen bieten ähnliches Kollektionen / Kollektionstypen der Java-Klassenbibliothek gibt es in drei Varianten List Set Map Listen Mengen Abbildungen Das Collection-Framework ist sehr wichtiger Bestandteil der API Framework: Ein Rahmen in den man seine eigene Software einbettet. Streams Ab Java 8 gibt es funktionale Kollektionstypen: Streams als funktionaler Vorsatz vor Listen Seite 16
17 Kollektionen der Java-API: Übersicht Liste Listentyp Typ als Interface implementiert java.util.list<t> Listen-Implementierung Abstrakte Datentypen als Klassen implementiert java.util.arraylist<t> java.util.linkedlist<t>... 1) 2) 3) 4) 5) 6) A B C D K L <<interface>> List ArrayList LinkedList List: Konzept Einer Liste A B C D K L A B C D K L ArrayList LinkedList Seite 17
18 Kollektionen der Java-API: Übersicht <<interface>> Map Abbildung (Map) TreeMap Map-Typ Typ als Interface implementiert HashMap java.util.map<k,v> Map-Implementierung Abstrakte Datentypen als Klassen implementiert java.util.arraylist<t> java.util.linkedlist<t>... A B C D K L X Y Z U V W Map: Konzept L W K V A X C Z D U C Z K V A X B Y B Y D U TreeMap HashMap Seite 18 L W
19 Kollektionen der Java-API: Übersicht <<interface>> Set Menge (Set) TreeSet Set-Typ (Typdefinition als Interface implementiert) HashSet java.util.set<k,v> Map-Implementierung (Abstrakte Datentypen als Klassen implementiert) java.util.hashset<t> java.util.treeset<t>... C D F B A E C E A Set: Konzept einer Menge B D C D F TreeSet E A B HashSet Seite 19 F
20 Kollektionen der Java-API: Übersicht Klassen Übersicht siehe (und lese!) Daten-Strukturen Daten-Typen Seite 20
21 Datenmodellierung mit Kollektionen der Java-API Datenmodellierung Programmiersprachen unterstützen die Datenmodellierung in unterschiedlicher Weise und unterschiedlich (und unterschiedliche gut): Uralt-Sprachen Fortran, Algol, Lisp bieten Arrays (Fortran/Algol) oder Listen (Lisp) als einzige Datenstruktur Sprach-Veteranen C bieten Arrays und wenige andere einfache Datenstrukturen (Union / Struct) sowie den Zugriff auf Adressen (Zeiger / Pointer) zur Realisierung komplexer Datenstrukturen Sprachen für Laien / Skript-Sprachen - Perl, PHP, Scala, bieten Datenstrukturen (Listen, Abbildungen, Mengen) als Sprachbestandteil und bieten so gute Unterstützung für mathematisch-orientierte Modellierung Klassische professionelle Sprachen C++ unterstützen die Definitionen eigener Kollektionen gut (Objektorientierung) moderne professionelle Sprachen C#, Java, aktuelles C++ unterstützen die Definitionen eigener Kollektionen gut (Objektorientierung) bieten Datenstrukturen (Listen, Abbildungen, Mengen) als Bibliotheken (APIs) und bieten so gute Unterstützung für mathematisch-orientierte Modellierung Seite 21
22 Datenmodellierung mit Kollektionen der Java-API Datenmodellierung: Beispiel Tabelle Tabelle: 2-dimensionale Anordnung von Informationen. Besteht aus Einzelinformationen die durch ihre Anordnung in Zeilen und Spalten in Beziehung gesetzt werden. Modellierung einer Tabelle Die Tabelle kann in unterschiedlicher Art modelliert / interpretiert werden, z.b. : als Relation oder als Abbildung Seite 22
23 Datenmodellierung mit Kollektionen der Java-API Datenmodellierung: Beispiel Tabelle Tabelle: 2-dimensionale Anordnung von Informationen. Besteht aus Einzelinformationen die durch ihre Anordnung in Zeilen und Spalten in Beziehung gesetzt werden. Relationale Sicht Tabelle als Relation (Grundlage der aktuellen Datenbank-Technologie) table = { (Henrich, MNI, F 218, 2335), (Metz, MNI, F 117, 2329), (Platen, KMUB, C 704, 2533), (Renz, MNI, I 316, 2451), (Zink, KMUB, Q 4, 2574) Set<String[]> table.add(new table.add(new table.add(new table.add(new table.add(new table = new HashSet<>(); String[]{"Henrich", "MNI", "F String[]{"Metz", "MNI", "F String[]{"Platen", "KMUB","C String[]{"Renz", "MNI", "I String[]{"Zink", "KMUB","Q 218", 117", 704", 316", 4", "2335"); "2329"); "2533"); "2451"); "2574"); Seite 23 Relationen sind Mengen von Tupeln: Implementiert hier als Set von Arrays.
24 Datenmodellierung mit Kollektionen der Java-API Datenmodellierung: Beispiel Tabelle Tabelle: 2-dimensionale Anordnung von Informationen. Besteht aus Einzelinformationen die durch ihre Anordnung in Zeilen und Spalten in Beziehung gesetzt werden. Abbildungs-Sicht 1 Tabelle als Abbildung Name ~> Tupel mit Info zum Namen table = { Henrich ~> (MNI, F 218, 2335), Metz ~> (MNI, F 117, 2329), Platen, ~> (KMUB, C 704, 2533), Renz, ~> (MNI, I 316, 2451), Zink, ~> (KMUB, Q 4, 2574) Map<String, String[]> table = new HashMap<>(); table.put("henrich", new String[]{"MNI", "F 218", table.put("metz", new String[]{"MNI", "F 117", table.put("platen", new String[]{"KMUB","C 704", table.put("renz", new String[]{"MNI", "I 316", table.put("zink", new String[]{"KMUB","Q 4", "2335"); "2329"); "2533"); "2451"); "2574"); Seite 24 Relationen sind Abbildungen von Schlüsselwerten auf Tupel. Implementiert als Map<String, String[]>
25 Datenmodellierung mit Kollektionen der Java-API Datenmodellierung: Beispiel Tabelle Tabelle: 2-dimensionale Anordnung von Informationen. Besteht aus Einzelinformationen die durch ihre Anordnung in Zeilen und Spalten in Beziehung gesetzt werden. Abbildungs-Sicht 2 Tabelle als Abbildung Name ~> ( Attribut ~> Attribut-Wert) table = { Henrich ~> { Fachbereich ~> MNI, Raum ~> F 218, Telefon ~> 2335, Metz ~> { Fachbereich ~> MNI, Raum ~> F 117, Telefon ~> 2329, Platen, ~> { Fachbereich ~> KMUB, Raum ~> C 704, Telefon ~> 2533, Renz, ~> { Fachbereich ~> MNI, Raum ~> I 316, Telefon ~> 2451, Zink, ~> { Fachbereich ~> KMUB, Raum ~> Q 4, Telefon ~> 2574 Relationen sind Abbildungen von Schlüsselwerten auf Abbildungen von Attributnamen auf Attributwerte. Map<String, Map<String, String>> table = new HashMap<>();... Seite 25
26 Datenmodellierung mit eigenen Klassen Datenmodellierung mit Klassen Nur für professionelle SW-Entwickler und solche die es werden wollen geeignet und empfohlen! public class Table { static int static int maxsize = 2; actsize = 0; static String[] name static String[] fb = new String[maxSize]; = new String[maxSize];... public static void put(string namep,...) { name[actsize] = namep;... actsize++; Seite 26
Informatik II. Vordefinierte Datenstrukturen. - Abbildungen Map. Seite 1 Th Letschert, THM
Informatik II Vordefinierte atenstrukturen - Listen List - bbildungen Map - Mengen Set Seite 1 Th Letschert, THM atenstrukturen atenstrukturen Sprachelemente zur strukturierten Speicherung von aten atentyp
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;
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]...
Mehr13. 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
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
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
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
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
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
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
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 12. Listen. Listen 1
Kapitel 12 Listen Listen 1 Ziele Implementierungen für Listen kennenlernen Einfach verkettete und doppelt verkettete Listen verstehen Listen-Implementierungen in der Java-Bibliothek kennenlernen Durch
MehrHeute. Nachbetrachtung Wissensüberprüfung. Sortieren Interface Comparable TreeSet Sortieren von Arrays: Arrays.sort() 3.12.
Heute Nachbetrachtung Wissensüberprüfung Sortieren Interface Comparable TreeSet Sortieren von Arrays: Arrays.sort() 3.12.2015 IT I - VO 9 1 Organisatorisches Zwischentest findet am 16.12. von 17:30 bis
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
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
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
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
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
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
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
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
MehrInfo B VL 14: Java Collections/Reflections
Info B VL 14: Java Collections/Reflections Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 14: Java Collections/Reflections
MehrGliederung. 5. Compiler. 6. Sortieren und Suchen. 7. Graphen
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
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
Mehr12.3 Ein Datenmodell für Listen
Zweiter Versuch: Wir modellieren ein Element der Liste zunächst als eigenständiges Objekt. Dieses Objekt hält das gespeicherte Element. Andererseits hält das Element- Objekt einen Verweis auf das nächste
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
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
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
MehrII.4.4 Exceptions - 1 -
n 1. Unterklassen und Vererbung n 2. Abstrakte Klassen und Interfaces n 3. Modularität und Pakete n 4. Ausnahmen (Exceptions) n 5. Generische Datentypen n 6. Collections II.4.4 Exceptions - 1 - Ausnahmen
MehrTeil 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
MehrInformatik II Übung 06. Benjamin Hepp 5 April 2017
Informatik II Übung 06 Benjamin Hepp benjamin.hepp@inf.ethz.ch 5 April 2017 Nachbesprechung U5 5 April 2017 Informatik II - Übung 01 2 Nachbesprechung U5 1. Einfach verkettete Listen Keine Probleme 2.
Mehr2.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
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
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
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
MehrProf. Dr. Uwe Schmidt. 30. Januar 2017
Prof. Dr. Uwe Schmidt 30. Januar 2017 Aufgaben zur Klausur Algorithmen und Datenstrukturen im WS 2016/17 ( B Inf, B TInf, B MInf, B CGT, B WInf, B Ecom, B ITE) Zeit: 75 Minuten erlaubte Hilfsmittel: keine
MehrGrundlagen der Informatik 0
Technische Universität Darmstadt 01.07.2013 Grundlagen der Informatik 0 Vorlesung 0 Java ist eine Programmiersprache Ilkay Baytekin Douglas Crockford http://media.smashingmagazine.com/wp-content/uploads/2012/04/doug-crockford-image.jpg
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
MehrObjektorientierte Implementierung
Objektorientierte Implementierung 10) Verfeinern von Assoziationen mit dem Java-2 Collection Framework Softwaretechnologie, Prof. Uwe Aßmann, Prof. Heinrich Hussmann 1 Objektorientierte Implementierung
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
MehrWo sind wir? Rudolf Berrendorf FH Bonn-Rhein-Sieg Programmiersprache Java 338
Wo sind wir? Java-Umgebung Lexikale Konventionen Datentypen Kontrollstrukturen Ausdrücke Klassen, Pakete, Schnittstellen JVM Exceptions Java Klassenbibliotheken Ein-/Ausgabe Collections Threads Applets,
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
MehrKonkatenation zweier Listen mit concat
Ein Datenmodell für Listen Konkatenation zweier Listen mit concat Was ist an der Konkatenation etwas unschön? Man muss die vordere Liste einmal durchgehen, um den letzten Nachfolger (urspr. null zu erhalten,
MehrADT: Java Collections und ArrayList
ADT: Java Collections und ArrayList Überblick der Klassen Object File Collections Map List Set ArrayList LinkedList SortedSet HashSet SortedSet Methode ArrayList Klasse I Beschreibung void add(int position,
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
MehrPakete Software Entwicklung 1
Pakete Software Entwicklung 1 Annette Bieniusa, Mathias Weber, Peter Zeller 1 Organisation von Klassen- und Interface-Deklaration Java-Programme bestehen aus Typdeklarationen, d.h. Klassen- und Interface-Deklarationen.
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
MehrModularisierung in Java: Pakete Software Entwicklung 1
Modularisierung in Java: Pakete Software Entwicklung 1 Annette Bieniusa, Mathias Weber, Peter Zeller Um zusammengehörende Klassen, Interfaces, etc. gemeinsam zu verwalten, Sichtbarkeiten einzugrenzen und
MehrInformatik II Übung 5
Informatik II Übung 5 Florian Scheidegger florsche@student.ethz.ch Folien mit freundlicher Genehmigung adaptiert von Gábor Sörös und Simon Mayer gabor.soros@inf.ethz.ch, simon.mayer@inf.ethz.ch 27.03.2013
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
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
MehrObjektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)
MehrInnere Klassen. Innere Klassen. Page 1. Lernziele: innere Klassen, statische geschachtelte Klassen, anonyme Klassen.
Innere Klassen Innere Klassen Lernziele: innere Klassen, statische geschachtelte Klassen, anonyme Klassen. Literatur: Java Tutorial & Arnold, K., Gosling, J. und Holmes,D... Page 1 Innere Klassen Der erste
Mehr7. Schnittstellen Grundlagen zu Schnittstellen. 7. Schnittstellen
7. Schnittstellen Grundlagen zu Schnittstellen 7. Schnittstellen Eine Schnittstelle (Interface) ist eine Spezifikation eines Typs in Form eines Typnamens und einer Menge von Methoden, die keine Implementierungen
MehrJava Schulung. Objektorientierte Programmierung in Java Teil V: Die Java Collection Klassen. Prof. Dr. Nikolaus Wulff
Java Schulung Objektorientierte Programmierung in Java Teil V: Die Java Collection Klassen Prof. Dr. Nikolaus Wulff Collections in Java 2 Java 2 Collections: http://java.sun.com/products/jdk/1.2/docs/guide/collections/index.html
MehrWeitere Beispiele. Beispiel CD-Spieler: Exemplare eines abstrakten Konzepts. 7. Schnittstellen. Schnittstelle: Syntax
Weitere Beispiele Beispiel CD-Spieler: Exemplare eines abstrakten Konzepts public interface Funktion { boolean istimdefbereich(double x); double wert(double x); String gibbeschreibung(); public interface
MehrProgrammieren in Java -Eingangstest-
Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit
MehrAlgorithmen und Programmierung III
Musterlösung zum 4. Aufgabenblatt zur Vorlesung WS 2006 Algorithmen und Programmierung III von Christian Grümme Aufgabe 1 Amortisierte Analyse 10 Punkte Zu erst betrachte ich wie oft die letzte Ziffer
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)
MehrII.4.2 Abstrakte Klassen und Interfaces - 1 -
1. Unterklassen und Vererbung 2. Abstrakte Klassen und Interfaces 3. Modularität und Pakete 4. Ausnahmen (Exceptions) 5. Generische Datentypen 6. Collections II.4.2 Abstrakte Klassen und Interfaces - 1
MehrII.4.5 Generische Datentypen - 1 -
1. Unterklassen und Vererbung 2. Abstrakte Klassen und Interfaces 3. Modularität und Pakete 4. Ausnahmen (Exceptions) 5. Generische Datentypen 6. Collections II.4.5 Generische Datentypen - 1 - Ähnliche
MehrProgrammieren 2 Java Überblick
Programmieren 2 Java Überblick 1 Klassen und Objekte 2 Vererbung 3 Schnittstellen 5 Exceptions 6 Funktionsbibliothek 7 Datenstrukturen und Algorithmen 8 Ein-/Ausgabe 9 Graphische Benutzeroberflächen 10
MehrCS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)
CS005 Objektorientierte Programmierung Bachelor of Science (Informatik) Th Letschert Felder Seite Th Letschert OOP Felder / Arrays Seite 2 Th Letschert Feld / Array Feld (auch Array) Daten unter einem
MehrSoftwaretechnik WS 16/17. Übungsblatt 01
Softwaretechnik WS 16/17 Übungsblatt 01 Was ist eine Klasse? Definition der Object Management Group: A class describes a set of objects that share the same specifications of features, constraints, and
MehrInformatik II Aufgabenblatt 6
Prof. Dr. Th. Letschert FB MNI TH Mittelhessen StudiumPlus Informatik II Aufgabenblatt 6 Gruppenübung Aufgabe 1 CSV Dateien sind Textdateien die Zeilen mit Komma-separierten Werten bestehen (CSV = Comma
Mehr11. Komponenten Grundlagen der Programmierung 1 (Java)
11. Komponenten Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 10. Januar 2006 Einordnung im Kontext der Vorlesung
MehrSoftware Entwicklung 1
Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter AG Softech FB Informatik TU Kaiserslautern Fallstudie: Lauftagebuch Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 21 Erstellen einer
MehrÜbergang von funktionaler zu OOP. Algorithmen und Datenstrukturen II 1
Übergang von funktionaler zu OOP Algorithmen und Datenstrukturen II 1 Imperative vs. funktionale Programmierung Plakativ lassen sich folgende Aussagen treffen: funktional: imperativ: Berechnung von Werten
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.
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
MehrInterface. So werden Interfaces gemacht
Design Ein Interface (=Schnittstelle / Definition) beschreibt, welche Funktionalität eine Implementation nach Aussen anzubieten hat. Die dahinter liegende Algorithmik wird aber der Implementation überlassen.
MehrTutoraufgabe 1 (Collections):
Prof. aa Dr. J. Giesl Programmierung WS17/18 M. Hark, J. Hensel, D. Korzeniewski Tutoraufgabe 1 (Collections): In dieser Aufgabe geht es um die Implementierung einer Datenstruktur für Mengen, welche in
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
MehrSoftware Entwicklung 1
Software Entwicklung 1 Annette Bieniusa AG Softech FB Informatik TU Kaiserslautern Was gefällt Ihnen? Sehr ausführliches Skript Fragen / Aufgaben in der Vorlesung Praktische Beispiele Tolle Aufgabenblätter
MehrII. Grundlagen der Programmierung. Beispiel: Merge Sort. Beispiel: Merge Sort (Forts. ) Beispiel: Merge Sort (Forts. )
Technische Informatik für Ingenieure (TIfI) WS 2006/2007, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Rekursion Datenstrukturen Merge S ( split, s, merge ) Beispiel:
Mehr12 Abstrakte Klassen, finale Klassen und Interfaces
12 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden 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.
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
MehrProgrammieren II. Innere Klassen. Heusch 10, Ratz 5.2.1, Institut für Angewandte Informatik
Programmieren II Innere Klassen Heusch 10, 13.10 Ratz 5.2.1, 9.8 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Innere Klassen Bisher kennen wir nur Klassen, die entweder zusammen
Mehr7.0 Arbeiten mit Objekten und Klassen
252-0027 Einführung in die Programmierung I 7.0 Arbeiten mit Objekten und Klassen Thomas R. Gross Department Informatik ETH Zürich Copyright (c) Pearson 2013. and Thomas Gross 2016 All rights reserved.
MehrJava-Schulung Grundlagen
Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings
MehrIn C und Java müssen Variablen und Methodenergebnisse durch Typangaben erläutert werden. Welche der folgenden Aussagen sind korrekt und welche nicht:
Typprüfung (Compiler / Laufzeit) In C und Java müssen Variablen und Methodenergebnisse durch Typangaben erläutert werden. Welche der folgenden Aussagen sind korrekt und welche nicht: 1) Der Compiler prüft
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
MehrC# im Vergleich zu Java
C# im Vergleich zu Java Serhad Ilgün Seminar Universität Dortmund SS 03 Gliederung Entstehung von C# und Java Überblick von C# und Java Unterschiede und Gemeinsamkeiten Zusammenfassung und Ausblick Entstehung
MehrCS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)
CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Interface Seite 1 Schnittstelle / Interface Seite 2 Spezifikation / Schnittstelle / Interface Spezifikation Beschreibung einer Komponente
MehrEINFÜHRUNG IN DIE PROGRAMMIERUNG
EINFÜHRUNG IN DIE PROGRAMMIERUNG GRUNDLAGEN Tobias Witt!! 24.03.2014 ORGANISATORISCHES 09:00-10:30! Täglich Übungen zur Vertiefung! Laptop hier nicht erforderlich! Linux, OS X! Freitag: http://hhu-fscs.de/linux-install-party/
Mehr! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete. II.4.2 Abstrakte Klassen und Interfaces - 1 -
! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete II.4.2 Abstrakte Klassen und Interfaces - 1 - Ähnliche Programmteile public class Bruchelement { Bruch wert;
MehrInfo B VL 11: Innere Klassen/Collections
Info B VL 11: Innere Klassen/Collections Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 11: Innere Klassen/Collections
MehrSelbststudium OOP7 & ALG2 Auftrag
Selbststudium OOP7 & ALG2 Auftrag Kapitel 5.6 1. zu bearbeitende Aufgaben: 5.24 bis 5.30 5.24: Return Method Set entryset() V get(object key) Set keyset() V put(k key, V value) void
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 14. Bäume. Bäume 1
Kapitel 14 Bäume Bäume 1 Ziele Den Begriff des Baums in der Informatik kennenlernen Bäume als verkettete Datenstruktur repräsentieren können Rekursive Funktionen auf Bäumen verstehen und schreiben können
MehrProgrammieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer)
Programmieren I Grundlagen von JAVA Dr. Klaus Höppner Hello World in JAVA Hochschule Darmstadt WS 2007/2008 Elementare Datentypen 1 / 17 2 / 17 Eigenschaften von JAVA Prinzipieller Ablauf Plattform-und
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
MehrInstitut für Informatik
Technische Universität München Institut für Informatik Lehrstuhl für Computer Graphik & Visualisierung WS 2009 Praktikum: Grundlagen der Programmierung Aufgabenblatt 9 Prof. R. Westermann, R. Fraedrich,
MehrTh. Letschert OOP 2 2. Geheimnisprinzip und Sichtbarkeitsbeziehungen
Th. Letschert OOP 2 2. Geheimnisprinzip und Sichtbarkeitsbeziehungen Th Letschert FH Gießen-Friedberg Th. Letschert OOP 2 Sichtbarkeitsbeziehungen und Geheimnisprinzip Sichtbarkeitsbeziehungen realisieren
MehrEinführung in die Programmierung mit Java
Einführung in die Programmierung mit Java Teil 14: Verkettete Listen Martin Hofmann Steffen Jost LFE Theoretische Informatik, Institut für Informatik, Ludwig-Maximilians Universität, München Stack 18.
Mehr1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen
1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen II.2.3 Datenabstraktion - 1 - public class Rechteck { Selektoren
MehrGenerische Datenstrukturen
Generische Datenstrukturen Prof. Dr. rer. nat. habil. Uwe Aßmann Lehrstuhl Softwaretechnologie Fakultät für Informatik TU Dresden Softwaretechnologie, Prof. Uwe Aßmann 1 2 Trends in der Softwareentwicklung
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
MehrObjektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Übungsblatt 5 Lösungsvorschlag Objektorientierte Programmierung 22. 05. 2006 Lösung 9 (SMS-Eingabe am
Mehr