Informatik II Übung 3. Pascal Schärli
|
|
- Frida Flater
- vor 5 Jahren
- Abrufe
Transkript
1 Informatik II Übung 3 pascscha@student.ethz.ch
2 Warm up Ist das ein Baum? Left child: Right child: Parent: [A B C _ E _ G H I _] *i + 1 2*i + 2 (i-1)/2 2
3 Überblick Serie 3 Aufgabe 1 Caesar Verschlüsselung String vs StringBuffer Garbage Collector Aufgabe 2&3 Syntaxdiagramme und Syntaxparser Aufgabe 4 Schleifeninvarianten 3
4 Aufgabe 1 Caesar-Verschlüsselung Buchstaben werden um 3 weiterversetzt. Geheimniss --> Jhkhlpqlvv Chars können durch Integeroperationen nach ASCII modifiziert werden. ( A - 1) ( A + $ ) = e 4
5 Aufgabe 1 String vs StringBuffer Klasse String Unveränderlich (immutable) final Operationen können gut optimiert werden. (Zb. multithreading) Klasse StringBuffer Ohne Kopie veränderbar (mutable) Mehr Platz Gewisse Operationen sind teurer. 5
6 Aufgabe 1 String vs StringBuffer Objekte im Speicher: String mystring = "hello"; mystring = mystring + " world"; hello world hello world StringBuffer mystringbuffer = "hello"; mystringbuffer.append(" world"); hello hello world world 6
7 Aufgabe 1 String vs StringBuffer Speicher "hello" Garbage Collector " world" "hello world" " how" "hello world how" " are" String mystring = "hello"; mystring = mystring+" world"; "hello world how are" " you" mystring = mystring+" how"; Garbage Collector mystring = mystring+" are"; "hello world how are you" " today" mystring = mystring+" you"; mystring = mystring+" today"; "hello world how are you today" Animation von Beat Saurenmann 7
8 Aufgabe 1 String vs StringBuffer Garbage Collector: C++ MyObject obj1 = new MyObject(1); delete obj1; obj1 = new MyObject(2) Java: MyObject obj1 = new MyObject(1); obj1 = new MyObject(2) 8
9 Aufgabe 2 Syntaxdiagramm (Beliebt an Prüfungen!) Welche der folgenden Ausdrücke können nach dem Diagramm Expr (Ausdruck) korrekt erzeugt werden? Von hand durchgehen und schauen ob es gültig ist. 9
10 Aufgabe 3 Syntaxdiagramm (Beliebt an Prüfungen!) Ergänzen Sie das Syntaxdiagramm auf Folie 455 im Skript, sodass leere Bäume und leere Teilbäume generiert werden können. Leerer Baum = - 10
11 Aufgabe 3 Syntaxparser (Beliebt an Prüfungen!) Funktion, welche einen Baum in Klammerdarstellung auf Korrektheit überprüft. Eigene Funktion für Baum, Nachfolger und Knoten Folie 434 im Skript als Inspiration 11
12 Aufgabe 3 Syntaxparser (Beliebt an Prüfungen!) Benötigte Funktionen: //checks if the char at position offset in the String kd is equal to c Boolean checknext(char c, String kd, int offset){ int parsetree(string kd, int offset){ int parsesubtree(string kd, int offset) { int parsenode(string kd, int offset){ Der return-wert der parse-funktionen ist die Anzahl Zeichen, des Strings kd, welche schon auf die Korrekte Syntax überprüft wurden. Prüft regelmässig, ob euer Index noch innerhalb des Strings ist. 12
13 Aufgabe 4 Schleifeninvarianten (Beliebt an Prüfungen!) Schleifeninvarianten gilten zum Beginn und Ende jeder Schleifenausführung Nach dem Ende der Schleife ist die Schleifenbedingung (hier: u > 0) nicht mehr erfüllt. Das Resultat ist die Invariante, wenn man die nicht erfüllte Schleifenbedingung (hier: u = 0) einsetz. static int f(int int u = i; int z = 0; while (u > z = z + u = u return z; i, int j) { 0){ j; 1; 13
14 Nachbesprechung Serie 2 Aufgabe 1 c) S Gegeben sei die folgene Klammerdarstellung S(R(H(K)),P(A(N,O),Q,T),V(J,F(G))) Ist der Baum eindeutig rekonstruierbar? Ja, falls die Reihenfolge der Kinder keine Rolle spielt Sonst nein (zb. Binärbaum) P R H K V A Q T N J F O G Falls man zwischen linken und rechten Nachfolgern differenzieren will (im Falle eines Binärbaums), könnte man leere Blätter zb mit kodieren: S(R(H(K,-)),P(A(N,O),Q,T),V(J,F(-,G))) 14
15 Nachbesprechung Serie 2 Aufgabe 1 d) 0 1 Baum aus Teilaufgabe a): Höhe: 4 Längste Pfade: Blätter: 41,7,13,54,17,1,5,3,65 15
16 Nachbesprechung Serie 2 Aufgabe 2 a) Konstruktor für RandomArray: public RandomArray(int length){ Random r = new Random(); //create new random number generator numbers = new int[length]; //create array with desired length for (int i=0; i<length; i++) { //fill array with random integers from 0 to 999 numbers[i] = r.nextint(1000); 16
17 Nachbesprechung Serie 2 Aufgabe 2 b) Stringrepräsentation des Arrays public String tostring(){ String s="["; //create String for (int i=0; i<numbers.length; i++) { if (i!=0) { s = s + ", "; //add comma unless its the first time s = s + numbers[i]; //add number to string s = s + "]" //close bracket return s; 17
18 Nachbesprechung Serie 2 Aufgabe 2 c) Recursive sort private void recursivesort(int until){ if (until == 0) { //An empty array is already sorted return; else { recursivesort(until 1); //Sort first n-1 elements if (until == numbers.length) return; //Return if we reached the end int index_max = until-1; for (int i=until; i<numbers.length; i++) { //Find biggest element in rest of array if (numbers[i] > numbers[index_max]) { index_max = i; swap(until - 1, index_max); //Swap biggest element with first unsorted element 18
19 Nachbesprechung Serie 2 Aufgabe 3 a) int leftchild(int node ){ return 2 * node + 1; int rightchild(int node ){ return 2 * node + 2; int father(int node ){ return (node 1) / 2; 19
20 Nachbesprechung Serie 2 Aufgabe 3 b) tostring() - Rekursive Lösung: Gebe aktuellen Knoten aus (unter Berücksichtigung der Ebene) Gebe linken Unterbaum aus Gebe rechten Unterbaum aus 20
21 Nachbesprechung Serie 2 Aufgabe 3 b) private String tostring(int node, String indentation){ assert (tree[node]!= ); //Error if tree is empty String s = indentation + tree[node] + \n ; int c1 = leftchild(node); if (isnode(c1)) { //Add left Child if it exists s = s + tostring(c1, indentation + " "); int c2 = rightchild(node); if (isnode(c2)) { //Add right Child if it exists s = s + tostring(c2, indentation + " "); return s; 21
22 Nachbesprechung Serie 2 Aufgabe 3 c) private static void checktree(char[] array) throws IllegalArgumentException { if (array.length == 0) throw new IllegalArgumentException( "At least one, node is required."); for (int i=0; i<array.length; i++) { if (array[i]!= ' ') { int f = father(i); if (array[f] == ' ') { throw new IllegalArgumentException("node number " + i + " has no father"); 22
23 Viel Spass! 23
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 lubu@inf.ethz.ch Informatik II Übung 2 Lukas Burkhalter 14. März 2018 1 Ablauf der Übung Nachbesprechung der
MehrInformatik II - Übung 03
Informatik II - Übung 03 Katja Wolff katja.wolff@inf.ethz.ch 15.03.2014 Besprechung Übungsblatt 2 Informatik II - Übung 03 15.03.2017 2 U2.A1 S Klammerdarstellung und eingerückter Form R P V S(R(H(K)),P(A(N,O),Q,T),V(J,F(G)))
MehrInformatik II (D-ITET) Übungsstunde 3,
Informatik II (D-ITET) Übungsstunde 3, 16.03.2017 Hossein Shafagh, shafagh@inf.ethz.ch Distributed Systems Group, ETH Zürich Handbuch Java is auch eine Insel Besonders interessant für Java-Einsteiger,
MehrInformatik II Übung 3
Informatik II Übung 3 Gruppe 2 Carina Fuss cfuss@student.ethz.ch 14.3.2018 Carina Fuss 14.3.2018 1 Übung 2 Nachbesprechung Übung 2 Vorbesprechung Übung 3 String vs. StringBuffer Syntaxdiagramme und Syntaxchecker
MehrInformatik II - Tutorium 4
Informatik II - Tutorium 4 Vincent Becker vincent.becker@inf.ethz.ch 22.03.2017 Vincent Becker 27.03.2017 1 Übungsblatt 3 Vincent Becker 27.03.2017 2 U3.A1 Programmverifikation static int f(int i, int
MehrInformatik II Übung 2. Pascal Schärli
Informatik II Übung 2 Pascal Schärli pascscha@student.ethz.ch 08.03.2018 Code Expert Pascal Schärli 08.03.2018 2 Nachbesprechung Serie 1 Aufgabe 1 a) Induktionsbeweis über a möglich? Nein! Der Induktionsanfang
MehrInformatik II Übung 02. Benjamin Hepp 8 March 2017
Informatik II Übung 02 Benjamin Hepp benjamin.hepp@inf.ethz.ch 8 March 2017 Nachbesprechung U1 08.03.2017 Informatik II - Übung 01 2 Nachbesprechung U1.1 f(a,b) = a x b = a) Induktionsbeweis ueber a nicht
MehrInformatik II Übung 2
Informatik II Übung 2 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 7.3.2013
MehrInformatik II - Tutorium 2
Informatik II - Tutorium 2 Vincent Becker vincent.becker@inf.ethz.ch 07.03.2018 Vincent Becker 08.03.2018 1 Übungsblatt 1 Vincent Becker 08.03.2018 2 U1.A1 f(a, b) = a x b = a) Induktionsbeweis über a
MehrInformatik II - Übung 02
Informatik II - Übung 02 Katja Wolff katja.wolff@inf.ethz.ch Themen 1. Ein Algorithmus und seine Implementierung in Java 2. Java: Elementare Aspekte 3. Klassen und Referenzen 4. Syntaxanalyse und Compiler
MehrInformatik II Übung 2 Gruppe 7
Informatik II Übung 2 Gruppe 7 Leyna Sadamori leyna.sadamori@inf.ethz.ch Ablauf der Übung Administratives (wenn vorhanden) Debriefing (Besprechung des Blattes der Vorwoche) Briefing (Ausblick auf das nächste
MehrInformatik II (D-ITET) Übungsstunde 2,
Informatik II (D-ITET) Übungsstunde 2, 9.03.2017 Hossein Shafagh, shafagh@inf.ethz.ch Distributed Systems Group, ETH Zürich Ablauf Besprechung von Übung 1 Hinweise für Übung 2 Lösung U1.A1 f(a,b) = a x
MehrInformatik II Übung 4. Pascal Schärli
Informatik II Übung 4 pascscha@student.ethz.ch Nachbesprechung Serie 3 - Aufgabe 1 Schleifeninvariante: z+u j=i j Nach der while-scheife: u=0 z= i j Was passiert wenn man das Programm so abändert? Schleifeninvariante
MehrInformatik II (D-ITET) Informatik II (D-ITET) Übungsstunde 1. Distributed Systems Group, ETH Zürich
Informatik II (D-ITET) Informatik II (D-ITET) simon.mayer@inf.ethz.ch Distributed Systems Group, ETH Zürich Übungsstunde 1 Informatik II (D-ITET) 1 Ablauf Nachbesprechung Übung 1 und Übung 2 Besprechung
MehrInformatik II Übung 4 Gruppe 7
Informatik II Übung 4 Gruppe 7 Leyna Sadamori leyna.sadamori@inf.ethz.ch Informatik II Übung 4 Leyna Sadamori 20. März 2014 1 Administratives Text Encoding: UTF-8 Informatik II Übung 4 Leyna Sadamori 20.
MehrInformatik II Übung 5 Gruppe 3
Informatik II Übung 5 Gruppe 3 Leyna Sadamori leyna.sadamori@inf.ethz.ch Informatik II Übung 5 Leyna Sadamori 29. März 2017 1 Administrativ Die Übung am 5. April fällt aus! Bitte in die Übung in HG G 3
MehrInformatik II - Übung 04
Informatik II - Übung 04 Katja Wolff katja.wolff@inf.ethz.ch Besprechung Übungsblatt 3 Informatik II - Übung 04 21.03.2017 2 U3.A1 Programmverifikation static int f(int i, int j) { int u = i; int z = 0;
MehrInformatik II - Übung 04. Christian Beckel Besprechung Übungsblatt 3
Informatik II - Übung 04 Christian Beckel beckel@inf.ethz.ch 20.03.2014 Besprechung Übungsblatt 3 Christian Beckel 20/03/14 2 U3.A1! Unterschied zwischen! String! StringBuffer! Aufgabenstellung: "KEIN
MehrInformatik II Übung 2
Informatik II Übung 2 Gruppe 2 Carina Fuss cfuss@student.ethz.ch 7.3.2018 Carina Fuss 7.3.2018 1 Übersicht Tipps zu Eclipse Nachbesprechung Übung 1 Vorbesprechung Übung 2 Wurzelbäume Sortieralgorithmus
MehrLösungshinweise/-vorschläge zum Übungsblatt 11: Software-Entwicklung 1 (WS 2017/18)
Dr. Annette Bieniusa Mathias Weber, M. Sc. Peter Zeller, M. Sc. TU Kaiserslautern Fachbereich Informatik AG Softwaretechnik Lösungshinweise/-vorschläge zum Übungsblatt 11: Software-Entwicklung 1 (WS 2017/18)
MehrInformatik II Übung 04
Informatik II Übung 04 Michael Baumann mbauman@student.ethz.ch n.ethz.ch/~mbauman 23.03.2016 Ablauf 1) Nachbesprechung Serie 3 2) Stacks 3) Vorbesprechung Serie 4 4) Bytecode und Assembler 2 Ablauf 1)
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
MehrJAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)
JAVA BASICS 2. Primitive Datentypen 1. Warum Java? weit verbreitet einfach und (relativ) sicher keine Pointer (?) keine gotos kein Präprozessor keine globalen Variablen garbage collection objekt-orientiert
MehrInformatik II (D-ITET) Übungsstunde 5
Informatik II (D-ITET) Übungsstunde 5 simon.mayer@inf.ethz.ch Distributed Systems Group, ETH Zürich Ablauf Nachbesprechung Übungen 3 und 4 Besprechung der Vorlesung Übungsbezogene Themen: Referenzen, Listen
MehrInformatik II - Übung 07
Informatik II - Übung 07 Katja Wolff katja.wolff@inf.ethz.ch Besprechung Übungsblatt 6 Informatik II Übung 07 12.04.2017 2 Übungsblatt 6 1.) Klassen, Schnittstellen, Typumwandlung 2.) Schnittstellen und
MehrÜbungen zum Bioinformatik-Tutorium. Blatt 6
Institut für Informatik Wintersemester 2018/19 Praktische Informatik und Bioinformatik Prof. Dr. Ralf Zimmer Übungen zum Bioinformatik-Tutorium Blatt 6 Termin: Dienstag, 27.11.2018, 11 Uhr 1. Klassen und
MehrInformatik II Übung 5. Pascal Schärli
Informatik II Übung 5 pascscha@student.ethz.ch Warm - Up Warm - Up public static int power(int base, int exp) { int out=1; for(int i = 0; i
MehrInformatik II (D-ITET) Informatik II (D-ITET) Übungsstunde 1. Distributed Systems Group, ETH Zürich
Informatik II (D-ITET) Informatik II (D-ITET) simon.mayer@inf.ethz.ch Distributed Systems Group, ETH Zürich Übungsstunde 1 Informatik II (D-ITET) 1 Ablauf Nachbesprechung Übungen 3 und 4 Besprechung der
MehrInformatik II (D-ITET)
Informatik II (D-ITET) simon.mayer@inf.ethz.ch Distributed Systems Group, ETH Zürich Informatik II (D-ITET) 1 Ablauf Nachbesprechung Übung 1 Besprechung der Vorlesung Übungsbezogene Themen: Bäume, Rekursion,
MehrEinführung in die Informatik
Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 13. Bäume. Bäume 1
Kapitel 13 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
MehrSoftware Entwicklung 1
Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter AG Softech FB Informatik TU Kaiserslautern Datenstruktur Liste Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 42 Formale Definition
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 17/18. 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
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
MehrTECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 2006/2007 Praktikum Grundlagen der Programmierung Lösungsvorschläge zu Blatt 3 F. Forster, M.
MehrAlgorithmen und Datenstrukturen Musterlösung 5
Algorithmen und Datenstrukturen Musterlösung 5 Martin Avanzini Thomas Bauereiß Herbert Jordan René Thiemann
MehrTutoraufgabe 1 (Implementierung eines ADTs):
Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS Tutoriumslösung - Übung (Abgabe.05.0) F. Corzilius, S. Schupp, T. Ströder Tutoraufgabe (Implementierung eines ADTs): Wir spezifizieren den ADT
MehrInformatik II. Woche 10, Giuseppe Accaputo
Informatik II Woche 10, 09.03.2017 Giuseppe Accaputo g@accaputo.ch 1 Nachbesprechung: Übung 2 2 Übung 2: Abgaben Habe von allen Abgaben erhalten! Kompliment an euch alle! 3 Tests laufen lassen vor Submit
MehrSoftware Entwicklung 1
Software Entwicklung 1 Annette Bieniusa AG Softech FB Informatik TU Kaiserslautern Lernziele Die Definition wichtiger Begriffe im Zusammenhand mit Bäumen zu kennen. Markierte Bäumen, insbesondere Suchbäume,
MehrÜbung 4: Die generische Klasse AvlBaum in Java 1
Übung 4: Die generische Klasse AvlBaum in Java 1 Ein binärer Suchbaum hat die AVL -Eigenschaft, wenn sich in jedem Knoten sich die Höhen der beiden Teilbäume höchstens um 1 unterscheiden. Diese Last (
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
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
MehrAbschnitt 11: Beispiel: Die Klasse String (Teil 1)
Abschnitt 11: Beispiel: Die Klasse String (Teil 1) 11. Beispiel: Die Klasse String (Teil 1) 11.1 Einführung 11.2 Die Klasse String und ihre Methoden 11.3 Effizientes dynamisches Arbeiten mit Zeichenketten
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
MehrBeispiellösung zur Klausur AI2 im Sommersemester 2007
Beispiellösung zur Klausur AI2 im Sommersemester 2007 Die Lösung soll als Beispiellösung für die Vorbereitung auf die Nachklausur dienen. Es ist durchaus möglich, dass sich noch kleine Fehler eingeschlichen
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/
MehrMartin Unold INFORMATIK. Geoinformatik und Vermessung
Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Welche Arten von Anweisungen gibt es? Anweisungen
Mehr19. Vererbung und Polymorphie
667 19. Vererbung und Polymorphie Ausdrucksbäume, Vererbung, Code-Wiederverwendung, virtuelle Funktionen, Polymorphie, Konzepte des objektorientierten Programmierens (Ausdrucks-)Bäume -(3-(4-5))*(3+4*5)/6
Mehr13. Bäume: effektives Suchen und Sortieren
13. Bäume: effektives Suchen und Sortieren Java-Beispiele: Baum.java Traverse.java TraverseTest.java Version: 25. Jan. 2016 Schwerpunkte Aufgabe und Vorteile von Bäumen Sortieren mit Bäumen Ausgabealgorithmen:
MehrJAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)
JAVA BASICS 2. Primitive Datentypen 1. Warum Java? zunehmend weit verbreitet einfach und (relativ) sicher keine Adressrechnung, aber Pointer keine gotos kein Präprozessor keine globalen Variablen garbage
MehrWie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen?
Generic Programming without Generics from JAVA5 Motivation Wie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen? Ein Bespiel: sie haben bereits eine Klasse zur Multiplikation von Matrizen
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
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
MehrAbschlussklausur Lösung. Bitte in Druckschrift leserlich ausfüllen!
Informatik für Informationsmanager II SS 2006 Universität Koblenz-Landau Institut für Informatik Prof. Dr. Steffen Staab Dr. Manfred Jackel Abschlussklausur 04.08.2006 Lösung Bitte in Druckschrift leserlich
MehrEinführung in die Programmierung
Skript zur Vorlesung: Einführung in die Programmierung WiSe 2009 / 2010 Skript 2009 Christian Böhm, Peer Kröger, Arthur Zimek Prof. Dr. Christian Böhm Annahita Oswald Bianca Wackersreuther Ludwig-Maximilians-Universität
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.
MehrÜbungsstunde 10. Einführung in die Programmierung I
Übungsstunde 10 Einführung in die Programmierung I Probleme bei Übung 9 [TODO Assistent] Nachbesprechung Übung 10 Aufgabe 1 Comparable boolean lessthan(comparable other) Ziel: Schreiben von Methoden,
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
MehrAbschnitt 7: Beispiel: Die Klasse String (Teil 1)
Abschnitt 7: Beispiel: Die Klasse String (Teil 1) 7. Beispiel: Die Klasse String (Teil 1) 7.1 Einführung 7.2 Die Klasse String und ihre Methoden 7.3 Effizientes dynamisches Arbeiten mit Zeichenketten 7.4
MehrÜberblick. Rekursive Methoden. Backtracking. Memorization. Einfache rekursive Datenstrukturen. Aufzählen, Untermengen, Permutationen, Bitmengen
Überblick 2 Rekursive Methoden Backtracking Memorization Bäume Aufzählen, Untermengen, Permutationen, Bitmengen Memorization Nochmals Fibonacci-Zahlen int fibo(int n) { if(n == 0) { return 0; else if(n
MehrPascal Schärli
Informatik I - Übung 8 Pascal Schärli pascscha@student.ethz.ch 12.04.2019 1 Was gibts heute? Best-Of Vorlesung: Prefix / Infix EBNF Vorbesprechung Problem of the Week 2 Vorlesung 3. 1 Prefix Notation Infix
MehrInformatik II (D-ITET) Übungsstunde 4,
Informatik II (D-ITET) Übungsstunde 4, 23.03.2017 Hossein Shafagh, shafagh@inf.ethz.ch Distributed Systems Group, ETH Zürich Quotes The purpose of software engineering is to control complexity, not to
MehrAbgabe: (vor 12 Uhr)
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2011 Einführung in die Informatik I Übungsblatt 7 Prof. Dr. Helmut Seidl, A. Lehmann, A. Herz,
MehrJAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)
JAVA BASICS 2. Primitive Datentypen 1. Warum Java? zunehmend weit verbreitet einfach und (relativ) sicher keine Adressrechnung, aber Pointer keine gotos kein Präprozessor keine globalen Variablen garbage
Mehr18. Vererbung und Polymorphie
617 18. Vererbung und Polymorphie Ausdrucksbäume, Vererbung, Code-Wiederverwendung, virtuelle Funktionen, Polymorphie, Konzepte des objektorientierten Programmierens (Ausdrucks-)Bäume -(3-(4-5))*(3+4*5)/6
MehrObjektorientierte Programmierung
Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Übungsblatt 5 Objektorientierte Programmierung 22. 05. 2006 Aufgabe 9 (SMS-Eingabe am Handy mit Tries)
MehrWoche 6. Cedric Tompkin. April 11, Cedric Tompkin Woche 6 April 11, / 29
Woche 6 Cedric Tompkin April 11, 2018 Cedric Tompkin Woche 6 April 11, 2018 1 / 29 Figure: Mehr Comics Cedric Tompkin Woche 6 April 11, 2018 2 / 29 Learning Objectives Dir kennst Return-by-value und Return-by-reference.
MehrBäume. Martin Wirsing. Ziele. Baumknoten. Bäume - 2-dimensionale Listen. Standardimplementierungen für Bäume kennenlernen
2 Ziele Bäume Standardimplementierungen für Bäume kennenlernen Das Composite-Muster kennenlernen Martin Wirsing in Zusammenarbeit mit Matthias Hölzl, Piotr Kosiuczenko, Dirk Pattinson 06/03 3 4 Bäume -
MehrMartin Unold INFORMATIK. Geoinformatik und Vermessung
Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Anweisungen mit Variablen Wiederholung Deklaration
MehrEINFÜHRUNG IN DIE PROGRAMMIERUNG
EINFÜHRUNG IN DIE PROGRAMMIERUNG GRUNDLAGEN Tobias Witt 24.03.2014 ORGANISATORISCHES tobias.witt@hhu.de 10:30-12:00 Täglich Übungen zur Vertiefung Laptop hier nicht erforderlich Aber später in den Übungen!
MehrBeispielprü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
MehrInformatik II (D-ITET) Übungsstunde 2
Informatik II (D-ITET) Übungsstunde 2 simon.mayer@inf.ethz.ch Distributed Systems Group, ETH Zürich Ablauf Besprechung der Vorlesung Übungsbezogene Themen: Bäume, Rekursion, Sortieren Zeit zum Programmieren
MehrBinäre Suchbäume. Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps
Binäre Suchbäume Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps Mengen n Ziel: Aufrechterhalten einer Menge (hier: ganzer Zahlen) unter folgenden Operationen: Mengen n Ziel: Aufrechterhalten einer
MehrInformatik II Musterlösung
Ludwig-Maximilians-Universität München SS 2006 Institut für Informatik Übungsblatt 4 Prof. Dr. M. Wirsing, M. Hammer, A. Rauschmayer Informatik II Musterlösung Zu jeder Aufgabe ist eine Datei abzugeben,
MehrNachtragstest in Programmkonstruktion 1. Phase. 1. Multiple-Choice-Aufgaben
Nachtragstest in Programmkonstruktion 1. Phase 29.5 / 60 Punkte 1. Multiple-Choice-Aufgaben 14.5 / 24 Punkte Bitte wählen Sie alle zutreffenden Antwortmöglichkeiten aus. Es können beliebig viele Antwortmöglichkeiten
Mehr1 Hashing und die Klasse String
1 Hashing und die Klasse String Die Klasse String stellt Wörter von (Unicode-) Zeichen dar. Objekte dieser Klasse sind stets konstant, d.h. können nicht verändert werden (immutable). Die Zeichenkette ist
MehrInformatik II Übung 5
Informatik II Übung 5 Gruppe 2 Carina Fuss cfuss@student.ethz.ch 28.3.2018 Carina Fuss 28.3.2018 1 Übung 5 Administratives/Tipps zu Eclipse Nachbesprechung Übung 4 kurze Demo zu Stacks Java Pakete Call
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:
MehrDatenstrukturen & Algorithmen Lösungen zu Blatt 8 FS 16
Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik. April 0
Mehr5.4 Arrays. Oft müssen viele Werte gleichen Typs gespeichert werden. Idee: Lege sie konsekutiv ab! Greife auf einzelne Werte über ihren Index zu!
5.4 Arrays Oft müssen viele Werte gleichen Typs gespeichert werden. Idee: Lege sie konsekutiv ab! Greife auf einzelne Werte über ihren Index zu! Feld: Index: 17 3-2 9 0 1 0 1 2 3 4 5 Harald Räcke 114/656
MehrTutorium 2. Strings. Skript zur Vorlesung Einführung in die Programmierung
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS DATABASE Tutorium 2 Strings Skript zur Vorlesung Einführung in die Programmierung im Wintersemester 2012/13 Ludwig-Maximilians-Universität
MehrSoftware 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
Mehr7. Dynamische Datenstrukturen Bäume. Informatik II für Verkehrsingenieure
7. Dynamische Datenstrukturen Bäume Informatik II für Verkehrsingenieure Übersicht dynamische Datenstrukturen Wozu? Oft weiß man nicht von Beginn an, wieviele Elemente in einer Datenstruktur untergebracht
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.
MehrDatenkapselung: public / private
627 18. Klassen Klassen, Memberfunktionen, Konstruktoren, Stapel, verkettete Liste, dynamischer Speicher, Copy-Konstruktor, Zuweisungsoperator, Destruktor, Konzept Dynamischer Datentyp Datenkapselung:
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
MehrSoftware Entwicklung 1
Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter AG Softech FB Informatik TU Kaiserslautern Überblick Weitere Sortierverfahren Merge Sort Heap Sort Praktische Auswirkungen der Laufzeitabschätzungen
MehrTechnische Universität Braunschweig Institut für Programmierung und Reaktive Systeme
Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Programmieren II Dr. Werner Struckmann 29. August 2014 Name: Vorname: Matrikelnummer: Kennnummer: Anrede: Frau Herr
MehrAufgabe11. 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
Mehr7. Vererbung und Polymorphie
210 7. Vererbung und Polymorphie Ausdrucksbäume, Vererbung, Code-Wiederverwendung, virtuelle Funktionen, Polymorphie, Konzepte des objektorientierten Programmierens (Ausdrucks-)Bäume -(3-(4-5))*(3+4*5)/6
MehrAllgemeine Hinweise:
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 12/13 Einführung in die Informatik I Wiederholungsklausur Prof. Dr. Helmut Seidl, A. Lehmann,
Mehr18. Vererbung und Polymorphie
590 18. Vererbung und Polymorphie Ausdrucksbäume, Vererbung, Code-Wiederverwendung, virtuelle Funktionen, Polymorphie, Konzepte des objektorientierten Programmierens (Ausdrucks-)Bäume 591 -(3-(4-5))*(3+4*5)/6
MehrKlausur. Informatik 1 Wintersemester 2005/2006 Prof. Dr. Wolfgang May 4. April 2006, Uhr Bearbeitungszeit: 90 Minuten
Klausur Informatik 1 Wintersemester 2005/2006 Prof. Dr. Wolfgang May 4. April 2006, 11-13 Uhr Bearbeitungszeit: 90 Minuten Aufgabe erreichbare erreichte Punkte Punkte 1 10 / 10 2 14 / 14 3 16 / 16 4 26(+8)*
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.
MehrTechnische Universität Braunschweig Institut für Programmierung und Reaktive Systeme
Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Programmieren II Dr. Werner Struckmann 16. August 2013 Name: Vorname: Matrikelnummer: Kennnummer: Anrede: Frau Herr
MehrEinführung in die Informatik 2
Einführung in die Informatik 2 Bäume & Graphen Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz http://www.inf.uni-konstanz.de/algo/lehre/ss08/info2 Sommersemester 2008 Sven Kosub
MehrSoftware Entwicklung 1
Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter AG Softech FB Informatik TU Kaiserslautern Fallstudie: Arithmetische Ausdrücke Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 33 Überblick
Mehr