Informatik II - Übung 08
|
|
|
- Eduard Adam Baum
- vor 9 Jahren
- Abrufe
Transkript
1 Informatik II - Übung 08 Christian Beckel [email protected] U7.A1: IFilter public ArrayList filterraw( ArrayList groups ) dynamic ArrayList result = new ArrayList(); cast for( int i = 0; i < groups.size(); i++ ) ArrayList group = (ArrayList) groups.get(i); for( int j = 0; j < group.size(); j++ ) Student student = (Student) group.get(j); if( filter( student ) ) result.add( student ); return result; Christian Beckel 17/04/14 2
2 U7.A1: IFilter public ArrayList<Student> filtergeneric(arraylist<arraylist<student>> groups) ArrayList<Student> result = new ArrayList<Student>(); for( int i = 0; i < groups.size(); i++ ) ArrayList<Student> group = groups.elementat(i); for( int j = 0; j < group.size(); j++ ) Student student = group.elementat(j); if( filter( student ) ) result.add( student ); return result; Christian Beckel 17/04/14 3 U7.A1: IFilter Helfermethode private boolean filter(student student) return student.getpoints() >= (IFilter.criteria / 100 * IFilter.maxNumberofPoints); Christian Beckel 17/04/14 4
3 For-each loop! Iteration über Arrays und Collections The core collections in Java Über alles, was das Iterable<E> Interface implementiert! Geht auch für eigene Datenstrukturen public ArrayList<Student> filtergeneric( ArrayList<ArrayList<Student>> groups ) ArrayList<Student> result = new ArrayList<Student>(); for(arraylist<student> group : groups ) for( Student student : group ) if( filter( student ) ) result.add( student ); return result; Christian Beckel 17/04/14 5 Beispiel for-each loop Equivalent for loop for( type var : arr ) //body of loop = for( int i = 0; i < arr.length; i++) type var = arr[i]; //body of loop for( type var : coll ) //body of loop = for( Iterator<type> iter = coll.iterator(); iter.hasnext(); ) type var = iter.next(); //body of loop leer! Christian Beckel 17/04/14 6
4 Bedingungen Although the enhanced for loop can make code much clearer, it can't be used in some common situations.! Only access. Elements can not be assigned to, e.g., not to increment each element in a collection.! Only single structure. It's not possible to traverse two structures at once, e.g., to compare two arrays.! Only single element. Use only for single element access, e.g., not to compare successive elements.! Only forward. It's possible to iterate only forward by single steps.! At least Java 5. Don't use it if you need compatibility with versions before Java 5. Christian Beckel 17/04/14 7 U7.A2 IBinarySearchTreeUtils! Typ T : Unbekannt, egal... public class TreeUtils<T> extends IBinarySearchTreeUtils<T> //... public int height(binarysearchtree<t> tree) if (tree == null) return 0; return 1 + Math.max(height(tree.left), height(tree.right)); //... Rest in Eclipse Christian Beckel 17/04/14 8
5 U7.A3 Random Player private Random rand = new Random(); //ausserhalb nextmove!!! public Coordinates nextmove( GameBoard gb ) Coordinates coord = null; ArrayList<Coordinates> validmoves = new ArrayList<Coordinates>( gb.getsize() * gb.getsize() ); System.out.print( "RandomPlayer" ); for( int row = 1; row <= gb.getsize(); row++ ) for( int col = 1; col <= gb.getsize(); col++ ) coord = new Coordinates(row, col); if( gb.checkmove( color, coord ) ) validmoves.add( coord ); if( validmoves.isempty() ) return null; int randindex = rand.nextint( validmoves.size() ); return validmoves.elementat( randindex ); Christian Beckel 17/04/14 9 Vorschau Übungsblatt 8 38 Punkte 2 Wochen Zeit Christian Beckel 17/04/14 10
6 Überblick 1) Binäre Suche (11 Punkte, Theorie & Praxis) 2) Tic-Tac-Toc-Spielbaum (5 Punkte) 3) Reversi: CheckMove() & Steine zählen 4) Rucksackproblem: Backtacking Christian Beckel 17/04/14 11 Zunächst: Datenstruktur Maps! Oft werden indizierte Daten benötigt! Personalien nach AHV-Nummer (unique id)! Dokumente nach Identifier (z.b. file name)! Dies wird möglich durch Maps! Identifier (Key) wird auf Inhalt (Value) "gemappt"! In der Java-Standardbibliothek! interface Map<Key extends Comparable<Key>, Value>! Implementationen: TreeMap, TreeMap,! Bsp.: Map<Integer, String> m = new HashMap<Integer, String>(); Christian Beckel 17/04/14 12
7 U8.A1: Binäre Suche " Binary Search Algorithm (illustrated) " Entscheidungsbaum 15 # $ # 22 $ query: 16 return: null query: 23 return: "23" Christian Beckel 17/04/14 13 U8.A1: Binäre Suche! Entscheidungsbaum zeichnen! Entscheidungsbäume übereinanderlegen Implementierung:! find(list<unit<key, Value>> haystack, Key needle)! setfactor(int factor)! Verallgemeinern der Suche $ nun auch unbalancierte Suchbäume! getnumberofcalls()! Benchmarking mit verschiedenen Faktoren! Durschnittliche Zahl (rekursiver) Aufrufe für verschiedene Faktoren Christian Beckel 17/04/14 14
8 U8.A2: Tic-Tac-Toe! Spielbaum zeichnen! Überlegt euch, wie das Attribut eines Knotens auf Basis der Attribute der Nachfolger berechnet wird, wenn Ihr bzw. der Gegner an der Reihe seid. Christian Beckel 17/04/14 15 U8.A3: Reversi (Teil 3) HumanPlayer RandomPlayer GreedyPlayer nextmove(): wartet auf Eingabe von der Kommandozeile nextmove(): wählt einen zufälligen (aber gültigen!) nächsten Zug nextmove(): wählt nächsten Zug anhand einer einfachen, nicht-rekursiven Bewertungsfunktion Download Übungsserie 7 Übungsserie 8 Christian Beckel 17/04/14 16
9 U8.A3: Reversi! Implementation von ICheckMove ohne das Framework! Ideen?! Implementieren eines Spielers, der unter allen möglichen Zügen den besten auswählt! Bester Zug: Zug, nach dessen Durchführung man maximal mehr Steine besitzt als der Gegner Christian Beckel 17/04/14 17 U8.A3: checkmove() boolean checkmove(gameboard gb, int player, Coordinates c) // Überprüfe alle Richtungen // Solange nicht mindestens eine Richtung gültig ist //... // GameBoard.checkMove darf nicht verwendet werden! Christian Beckel 17/04/14 18
10 U8.A3: greedyplayer()! Einfacher Computergegner! Denktiefe : 1 $ kein Spielbaum nötig!! Bewertungsfunktion: Unterschied der Steine nach dem Zug! Tipps! Ermitteln des besten Zugs 1) Board kopieren (ein GameBoard kann mit gb.clone() kopiert werden) 2) Einen möglichen Zug ausführen (Ihr dürft GameBoard.checkMove() hier verwenden) 3) Zählen (z.b. in Methode eval()) und besten Zug merken! Mit einer etwas intelligenteren Bewertungsfunktion schon ein ziemlicher Gegner Christian Beckel 17/04/14 19 U8.A4: Rucksackproblem und Backtracking x2 g2, w2 x3 g3, w3 x1 g1, w1 x4 g4, w4 x5 g5, w5 Christian Beckel 17/04/14 20
11 Rucksackproblem x1 g1, w1 x2 g2, w2 x3 g3, w3 x4 g4, w4! Problembeschreibung:! k Gegenstände x1,..., xk; Jeweils bekannter Wert und Gewicht! Auswahl von Gegenständen, so dass Gesamtgewicht nicht überschritten wird! Optimierungsproblem: Maximieren des Wertes der ausgewählten Gegenstände x5 g5, w5! Übungsblatt! Theorie! Bruteforce-Ansatz! Backtracking-Ansatz! Vergleich von Bruteforce und Backtracking Christian Beckel 17/04/14 21 Denken in Teilmengen!! Wie viele unterschiedlichen Möglichkeiten hat unser Dieb?! M = Menge der verfügbaren Gegenständen! Der Dieb kann nur eine Teilmenge davon nach Hause bringen! Der Dieb kann auch die leere Menge Ø (fauler Dieb) oder die gesamte Menge M (starker Dieb mit grossem Sack) schaffen!! Beispiel: Christian Beckel 17/04/14 22
12 Christian Beckel 17/04/14 23 Christian Beckel 17/04/14 24
13 Warum? Warum? Christian Beckel 17/04/14 25 U8.A4! Diebstrategie (zu implementieren) 1. Initialisierung 2. Nimm nächste Konfiguration (wie genau?) 3. Berechne das gesamte Gewicht if (gesamtes Gewicht < G) berechne Gesamtwert if (neuer Gesamtwert > Gesamtwert aktuelle optimale Lösung) aktuelle Konfiguration ist neue optimale Lösung 4. Falls noch Konfigurationen übrig, gehe zu Punkt 2 else Berechnung fertig! Liefert die Strategie das optimale Ergebnis?! Gibt es genau eine optimale Lösung? Christian Beckel 17/04/14 26
14 U8.A4 - Bitwertigkeit! Konfiguration als Bitfolge: class Selection! Die Bitwertigkeit bezeichnet den Stellenwert eines einzelnen Bits, den es durch seine Position innerhalb einer Binärzahl hat. Christian Beckel 17/04/14 27 U8.A4: Bruteforce ist einfach public Selection findbest(arraylist<integer> values, ArrayList<Integer> weights, int maxweight)... int last = java.math.pow(2, values.size()); //Anzahl der Teilmengen for( int i = 0; i < last; i++ ) new Selection(values.size(), i); //Selection Bitfeld mit Wert i Christian Beckel 17/04/14 28
15 U8.A4: Backtracking ist schwieriger! Klasse FindResult: Enthält Selection und Value! Rekursive Methode: FindResult fr = find(currselection, currweight, values, weights, maxweight);! Abbruchbedingung: selection.size() == values.size(); // alle Werte im Rucksack! In der Methode zwei mögliche Richtungen zum Weitergehen: //Gegenstand nicht mitnehmen... Selection without = new Selection(...); //um eins vergrössern, bit auf 0 setzen... //prüfen ob Gewicht passt, dann Gegenstand mitnehmen... Selection with = new Selection(...); //um eins vergrössern, bit auf 1 setzen...! In beiden Fällen rekursiver Aufruf (s.o.) Christian Beckel 17/04/14 29 U8.A4: Tipps! class Selection verstehen und verwenden!! Achtung: bei Vergrösserung der Konfiguration (neuen Gegenstand in den Sack legen) muss der neue Stellenwert initialisiert werden: new Selection(depth + 1, selection.bits()); Die neue Selection ist nun um ein Element größer und enthält den Inhalt der alten Selection. Christian Beckel 17/04/14 30
16 viel Spass! Christian Beckel 17/04/14 31
Informatik II - Übung 08
Informatik II - Übung 08 Katja Wolff [email protected] Übungsblatt 7 Informatik II Übung 08 26.04.2017 2 U7.A1: IFilter public ArrayList filterraw( ArrayList groups ) { ArrayList result = new ArrayList();
Informatik II (D-ITET) Übungsstunde 8,
Informatik II (D-ITET) Übungsstunde 8, 27.04.2017 Hossein Shafagh, [email protected] Distributed Systems Group, ETH Zürich The Heartbleed Bug *http://heartbleed.com/ 2 Ablauf Besprechung von Übung 7
Informatik II - Übung 07. Christian Beckel
Informatik II - Übung 07 Christian Beckel [email protected] 15.04.2015 Heute Besprechung Blatt 06 Demo: Objektorientierte Programmierung Hinweise zu Blatt 07 Christian Beckel 15/04/15 2 Besprechung Übungsblatt
Informatik II Übung 9
Informatik II Übung 9 Florian Scheidegger [email protected] Folien mit freundlicher Genehmigung adaptiert von Gábor Sörös und Simon Mayer [email protected], [email protected] Informatik
Informatik II Übung 8 Gruppe 3
Informatik II Übung 8 Gruppe 3 Leyna Sadamori [email protected] Informatik II Übung 8 Leyna Sadamori 26. April 2017 1 Debriefing Übung 7 2 U7A1 Generics Grundprinzip sehr simpel Iteration über
Informatik II Übung 8. Pascal Schärli
Informatik II Übung 8 [email protected] Was gibts heute? Warm-Up Nachbesprechung Serie 7 Best-Of Vorlesung: Binäre Suche Key-Value Paare Backtracking Vorbesprechung Serie 8 2 Warm - Up Warm - Up
Informatik II Übung 09
Informatik II Übung 09 Michael Baumann [email protected] n.ethz.ch/~mbauman 04.05.2015 Ablauf 1) Nachbesprechung Serie 8 2) Minimax & Alpha-Beta 3) Vorbesprechung Serie 9 2 Serie 8 3 Aufgabe 1 a,
Informatik II Übung 8
Informatik II Übung 8 Gruppe 2 Carina Fuss [email protected] 25.4.2018 Carina Fuss 25.4.2018 1 Übung 8 Nachbesprechung Übung 7 Vorbesprechung Übung 8 binäre Suche Backtracking anhand vom Rucksackproblem
Informatik II Übung 09. Benjamin Hepp 3 May 2017
Informatik II Übung 09 Benjamin Hepp [email protected] 3 May 2017 Nachbesprechung U8 3 May 2017 Informatik II - Übung 01 2 Nachbesprechung U8 1. Binaere Suche 2. Knapsack Problem 3. Reversi Teil
Informatik II Übung 9. Pascal Schärli
Informatik II Übung 9 [email protected] Was gibts heute? Warm-Up Nachbesprechung Serie 8 Best-Of Vorlesung: Minimax Alpha Beta Vorbesprechung Serie 9 Info zur Auffahrt 2 Warm - Up Warm-Up (Basisprüfung
Informatik II Übung 9
Informatik II Übung 9 Katja Wolff [email protected] 1 Othelligence Event Program: Game strategies and game theory Duell Human (German Champion) vs. Machine Panel Apéro Time: Friday, 19.05.2017, 16:00
Informatik II - Übung 07
Informatik II - Übung 07 Katja Wolff [email protected] Besprechung Übungsblatt 6 Informatik II Übung 07 12.04.2017 2 Übungsblatt 6 1.) Klassen, Schnittstellen, Typumwandlung 2.) Schnittstellen und
Informatik II Übung 7. Pascal Schärli
Informatik II Übung 7 [email protected] Was gibts heute? Warm-Up Nachbesprechung Serie 6 Best-Of Vorlesung: Generics Binäre Suchbäume Spielbäume Vorbesprechung Serie 7 2 Warm - Up Warm-Up interface
Informatik II Übung 9 Gruppe 3
Informatik II Übung 9 Gruppe 3 Julia Gygax [email protected] Julia Gygax 02.05.2018 1 Administratives Am 23. Mai beginnt die Übung erst um 13.15 Julia Gygax 02.05.2018 2 Warm up Spielbaum / Generics
Informatik II Übung 7. Gruppe 2 Carina Fuss
Informatik II Übung 7 Gruppe 2 Carina Fuss [email protected] 18.4.2018 Carina Fuss 16.4.2018 1 Übung 7 Hinweise zum Programmieren Nachbesprechung Übung 6 Vorbesprechung Übung 7 ArrayList und Generics
Informatik II Übung 7
Informatik II Übung 7 Florian Scheidegger [email protected] Folien mit freundlicher Genehmigung adaptiert von Gábor Sörös und Simon Mayer [email protected], [email protected] 18.04.2013
Informatik II - Übung 11
Informatik II - Übung 11 Christian Beckel [email protected] 15.05.2014 Blatt 10 1) Merge sort 2) Türme von Hanoi 3) Reversi: alpha-beta-suche Außerdem: Sortierverfahren und ihre Komplexität Christian
Informatik II (D-ITET)
Informatik II (D-ITET) [email protected] Distributed Systems Group, ETH Zürich Informatik II (D-ITET) 1 Ablauf Nachbesprechung Übung 6 Besprechung der Vorlesung Die neue Serie... Zeit zum Programmieren
Informatik II - Übung 11
Informatik II - Übung 11 Katja Wolff [email protected] Blatt 10 1) Merge sort 2) Türme von Hanoi 3) Reversi: alpha-beta-suche Außerdem: Sortierverfahren und ihre Komplexität Informatik II Übung 11
Informatik II - Übung 10
Informatik II - Übung 10 Katja Wolff [email protected] U9.A1: Mini-Max-Algorithmus Strategie von MAX 4 Höhe: 4 Suchtiefe: 3 bester Zug: links MAX 4 0-2 MIN 4 7 3 0 2-2 8 MAX 7-5 2 1 7 8 MIN Informatik
Informatik II - Übung 10
Informatik II - Übung 10 Christian Beckel [email protected] 08.05.2014 Blatt 08 1) Binäre Suche 2) TicTacToe 3) Reversi: checkmove() & GreedyPlayer 4) Backtracking Christian Beckel 09/05/14 2 U8.A3: checkmove()
Informatik II Übung 7 Gruppe 3
Informatik II Übung 7 Gruppe 3 Julia Gygax [email protected] Julia Gygax 18.04.2018 1 Nachbesprechung Übung 6 Julia Gygax 18.04.2018 2 Aufgabe 1 Klassen, Schnittstellen und Typumwandlungen Julia Gygax
Informatik II (D-ITET) Übungsstunde 11,
Informatik II (D-ITET) Übungsstunde 11, 17.05.2017 Hossein Shafagh, [email protected] Distributed Systems Group, ETH Zürich Ablauf Besprechung von Übung 10 Hinweise für Übung 11 (Sortieren, O-Notation)
1. Die rekursive Datenstruktur Liste
1. Die rekursive Datenstruktur Liste 1.3 Rekursive Funktionen Ideen zur Bestimmung der Länge einer Liste: 1. Verwalte ein globales Attribut int laenge. Fügt man ein Element zur Liste oder löscht es, wird
Aufgabe11. Methode test1. import java.util.hashmap; import java.util.arraylist; public class Aufgabe11 {
Hochschule Harz Programmierung1 Aufgabe 10: FB Automatisierung und Informatik Dipl.-Inf. Dipl.-Ing. (FH) M. Wilhelm Programmierung 1 für MI / WI Thema: Hashing und Generische Klassen Versuchsziele Kenntnisse
IT I: Heute. abstrakte Methoden und Klassen. Interfaces. Interfaces List, Set und Collection IT I - VO 7 1
IT I: Heute abstrakte Methoden und Klassen Interfaces Interfaces List, Set und Collection 22.11.2018 IT I - VO 7 1 Wissensüberprüfung Überschreiben von Methoden: Aufruf der Methode der Oberklasse ist oft
Übungsserie Nr. 6. Ausgabe: 1. April 2015 Abgabe: 15. April Hinweise
Informatik II (D-ITET) Frühjahrssemester 2015 Prof. Friedemann Mattern Christian Beckel ([email protected]) ETH Zürich Institut für Pervasive Computing Gruppe für Verteilte Systeme http://vs.inf.ethz.ch
Software Entwicklung 1. Fallstudie: Arithmetische Ausdrücke. Rekursive Klassen. Überblick. Annette Bieniusa / Arnd Poetzsch-Heffter
Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter Fallstudie: Arithmetische Ausdrücke AG Softech FB Informatik TU Kaiserslautern Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 33 Überblick
Informatik II Übung 2. Gruppe 4. Lukas Burkhalter (Folien teils von Christian B. und Leyna S.)
Informatik II Übung 3 Gruppe 4 (Folien teils von Christian B. und Leyna S.) Lukas Burkhalter [email protected] Informatik II Übung 2 Lukas Burkhalter 14. März 2018 1 Ablauf der Übung Nachbesprechung der
Listen. Prof. Dr. Christian Böhm. in Zusammenarbeit mit Gefei Zhang. WS 07/08
Listen Prof. Dr. Christian Böhm in Zusammenarbeit mit Gefei Zhang http://www.dbs.ini.lmu.de/lehre/nfinfosw WS 07/08 2 Ziele Standardimplementierungen für Listen kennenlernen Listeniteratoren verstehen
1. Die rekursive Datenstruktur Liste
1. Die rekursive Datenstruktur Liste 1.4 Methoden der Datenstruktur Liste Die Warteschlange (Queue) ist ein Sonderfall der Datenstruktur Liste. Bei der Warteschlange werden Einfügen und Entfernen nach
Anweisungen zur Ablaufsteuerung
Anweisungen zur Ablaufsteuerung if-else switch while do-while for Ausdrücke Ein Ausdruck ist eine Folge von Variablen, Operatoren und Methodenaufrufen, der zu einem einzelnen Wert ausgewertet wird. Operanden
Einfü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
Problem: 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
Kapitel zu bearbeitende Aufgaben: 6.1 bis :
Kapitel 6.3.1 1. zu bearbeitende Aufgaben: 6.1 bis 6.5 6.1: 6.2: === Day 23 === 9: pause 10: 11: 12: 13: lunch 14: 15: 16: 17: meeting 6.3: 6.4: PRG1_OOP8_ALG3_SS.docx Seite 1 von 10 http://hslu.ximit.ch
Informatik II Übung 2
Informatik II Übung 2 Florian Scheidegger [email protected] Folien mit freundlicher Genehmigung adaptiert von Gábor Sörös und Simon Mayer [email protected], [email protected] 7.3.2013
Programmieren in Java
Programmieren in Java Vorlesung 05: Generics Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2015 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 / 19 Inhalt Generics
Programmierkurs 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
Einfü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
Einfü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
Anwendungsbeispiel MinHeap
Anwendungsbeispiel MinHeap Uns seien n ganze Zahlen gegeben und wir möchten darin die k größten Zahlen bestimmen; zudem gelten, dass n deutlich größer als k ist Wir können das Problem mit Laufzeit in O(n
Kasparov versus Deep Blue. Till Tantau. Institut für Theoretische Informatik Universität zu Lübeck
Kasparov versus Deep Blue Institut für Theoretische Informatik Universität zu Lübeck 18. Vorlesung zu Informatik A für MLS 14. Dezember 2006 Die Lernziele der heutigen Vorlesung und der Übungen. 1 Das
UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 3
UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1 Übung 3 Algorithmen mit Gedächtnis Besonderheit Beispiele Typische Algorithmen Realisierungsvarianten Institut für Pervasive Computing Johannes
19. STL Container Programmieren / Algorithmen und Datenstrukturen 2
19. STL Container Programmieren / Algorithmen und Datenstrukturen 2 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Wintersemester 2012 / 2013 1 Agenda Kontrollfragen STL Container: Übersicht
ÜBUNGS-BLOCK 8 AUFGABEN
ÜBUNGS-BLOCK 8 AUFGABEN Aufgabe 1: Gegeben sind drei Klassen (linke Spalte) sowie ein Programm (rechts): public class A { this.var = var; public int getvar() { return var; public class Programm { public
Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II a[0] a[1] a[2] a[3] a[n 1]
Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -108 Kapitel 5: Arrays Einführung Ein Array ist eine Reihung gleichartiger Objekte. a: a[0] a[1] a[2] a[3] a[n 1] Bezeichner a steht
Einfache Arrays. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung
Dr. Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung WS18/19 https://www.sosy-lab.org/teaching/2018-ws-infoeinf/ Arrays: Wiederholung Ein
Teil 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
Wie entwerfe ich ein Programm?
Wie entwerfe ich ein Programm? Welche Objekte brauche ich? Flussdiagramme für Programmablauf Vorcode Testcode Hauptcode Wir spielen Lotto! Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 5 +
! 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
Aufgabenblatt 4. Aufgabe 3. Aufgabe 1. Aufgabe 2. Prof. Dr. Th. Letschert Algorithmen und Datenstrukturen
Prof. Dr. Th. Letschert Algorithmen und Datenstrukturen Aufgabenblatt 4 Aufgabe 1 1. Erläutern Sie in eigenen Worten die Begriffe Datenstruktur, Datentyp und abstrakter Datentyp. Nutzen Sie das Beispiel
Informatik II Übung 06. Benjamin Hepp 5 April 2017
Informatik II Übung 06 Benjamin Hepp [email protected] 5 April 2017 Nachbesprechung U5 5 April 2017 Informatik II - Übung 01 2 Nachbesprechung U5 1. Einfach verkettete Listen Keine Probleme 2.
Informatik II. Übungsstunde 6. Distributed Systems Group, ETH Zürich
Informatik II Übungsstunde 6 [email protected] Distributed Systems Group, ETH Zürich Ablauf Besprechung der Vorlesung Uebungsbezogene Themen: Statisches & Dynamisches Type Checking Zeit zum Programmieren...
1. Rekursive Algorithmen 2. Rekursive (dynamische) Datenstrukturen
1. Rekursive Algorithmen 2. Rekursive (dynamische) Datenstrukturen II.3.2 Rekursive Datenstrukturen - 1 - Grundwert ( Typ ) Präfix-Operator Name Methodenaufruf [ ] ( ) Infix-Operator Methodenaufruf new
Vorlesung Informatik 2
Vorlesung Informatik 2 Fachhochschule für Technik Esslingen Studiengang Wirtschaftsinformatik Neues in Java 5.0 (Tiger) Dr. rer. nat. Andreas Rau http://www.fht-esslingen.de/~rau [email protected]
Informatik II - Tutorium 12
Informatik II - Tutorium 12 Vincent Becker [email protected] 23.05.2018 Vincent Becker 24.05.2018 1 Reversi-Turnier 30.5.2018 Deadline für Einreichung SONNTAG NACHT!!! Umfrage Bitte an Umfrage
Programmierung für Mathematik HS11
software evolution & architecture lab Programmierung für Mathematik HS11 Übung 8 1 Aufgabe: Codeverständnis (Repetition) 1.1 Lernziele 1. Code verstehen können. 2. Fehler im Code finden und korrigieren
Informatik II Übung 11 Gruppe 3
Informatik II Übung 11 Gruppe 3 Leyna Sadamori [email protected] Informatik II Übung 11 Leyna Sadamori 17. Mai 2017 1 Nachtrag zu Übung 10 Alpha-Beta-Algorithmus Knotenwerte: Beide Varianten sind
Informatik II Prüfungsvorbereitungskurs
Informatik II Prüfungsvorbereitungskurs Tag 4, 23.6.2016 Giuseppe Accaputo [email protected] 1 Programm für heute Repetition Datenstrukturen Unter anderem Fragen von gestern Point-in-Polygon Algorithmus Shortest
Ü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
Klausur Software-Entwicklung März 01
Aufgabe 1: minimaler Punktabstand ( 2+5 Punkte ) Matrikelnr : In einem Array punkte sind Koordinaten von Punkten gespeichert. Ergänzen Sie in der Klasse Punkt eine Klassen-Methode (=static Funktion) punktabstand,
Beispielprüfung CuP WS 2015/2016
Beispielprüfung CuP WS 2015/2016 Univ.-Prof. Dr. Peter Auer 23. Dezember 2015 Informationen zur Prüfung Die Prüfung wird als Multiple-Choice-Test mit 10 Fragen am Computer abgehalten. (Bei manchen Fragen
Programmieren 2 Java Überblick
Programmieren 2 Java Überblick 1 Klassen und Objekte 2 Vererbung 4 Innere Klassen 5 Exceptions 6 Funktionsbibliothek 7 Datenstrukturen und Algorithmen 8 Ein-/Ausgabe 9 Graphische Benutzeroberflächen 10
Informatik - Übungsstunde
Informatik - Übungsstunde Jonas Lauener ([email protected]) ETH Zürich Woche 12-23.05.2018 Lernziele Klassen Dynamic Memory Jonas Lauener (ETH Zürich) Informatik - Übung Woche 12 2 / 20 Structs
Datenstrukturen sind neben Algorithmen weitere wichtige Bausteine in der Informatik
5. Datenstrukturen Motivation Datenstrukturen sind neben Algorithmen weitere wichtige Bausteine in der Informatik Eine Datenstruktur speichert gegebene Daten und stellt auf diesen bestimmte Operationen
Mengen und Multimengen
Überblick 17. Datenstrukturen 17.1 Einleitung 17.2 Listen 17.3 Assoziative Speicher 17.4 Bäume 17.5 Mengen 17.6 Das Collections-Framework in Java 17.7 Zusammenfassung 17 Datenstrukturen 5 Mengen Informatik
