Informatik II Übung 3. Pascal Schärli

Größe: px
Ab Seite anzeigen:

Download "Informatik II Übung 3. Pascal Schärli"

Transkript

1 Informatik II Übung 3 [email protected]

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 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

Mehr

Informatik II Übung 3

Informatik II Übung 3 Informatik II Übung 3 Gruppe 2 Carina Fuss [email protected] 14.3.2018 Carina Fuss 14.3.2018 1 Übung 2 Nachbesprechung Übung 2 Vorbesprechung Übung 3 String vs. StringBuffer Syntaxdiagramme und Syntaxchecker

Mehr

Informatik II Übung 2. Pascal Schärli

Informatik II Übung 2. Pascal Schärli Informatik II Übung 2 Pascal Schärli [email protected] 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

Mehr

Informatik II Übung 2

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

Mehr

Informatik II Übung 4. Pascal Schärli

Informatik II Übung 4. Pascal Schärli Informatik II Übung 4 [email protected] 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

Mehr

Informatik II Übung 2

Informatik II Übung 2 Informatik II Übung 2 Gruppe 2 Carina Fuss [email protected] 7.3.2018 Carina Fuss 7.3.2018 1 Übersicht Tipps zu Eclipse Nachbesprechung Übung 1 Vorbesprechung Übung 2 Wurzelbäume Sortieralgorithmus

Mehr

Informatik II Übung 04

Informatik II Übung 04 Informatik II Übung 04 Michael Baumann [email protected] 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)

Mehr

Kapitel 12: Induktive

Kapitel 12: Induktive Kapitel 12: Induktive Datenstrukturen Felix Freiling Lehrstuhl für Praktische Informatik 1 Universität Mannheim Vorlesung Praktische Informatik I im Herbstsemester 2009 Folien nach einer Vorlage von H.-Peter

Mehr

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA 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

Mehr

Informatik II - Übung 07

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

Mehr

Übungen zum Bioinformatik-Tutorium. Blatt 6

Ü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

Mehr

Informatik II Übung 5. Pascal Schärli

Informatik II Übung 5. Pascal Schärli Informatik II Übung 5 [email protected] Warm - Up Warm - Up public static int power(int base, int exp) { int out=1; for(int i = 0; i

Mehr

Software Entwicklung 1

Software 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

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 17/18. Kapitel 14. Bäume. Bäume 1

Einfü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

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 14. Bäume. Bäume 1

Einfü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

Mehr

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK

TECHNISCHE 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.

Mehr

Algorithmen und Datenstrukturen Musterlösung 5

Algorithmen und Datenstrukturen Musterlösung 5 Algorithmen und Datenstrukturen Musterlösung 5 Martin Avanzini Thomas Bauereiß Herbert Jordan René Thiemann

Mehr

Tutoraufgabe 1 (Implementierung eines ADTs):

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

Mehr

Informatik II. Woche 10, Giuseppe Accaputo

Informatik II. Woche 10, Giuseppe Accaputo Informatik II Woche 10, 09.03.2017 Giuseppe Accaputo [email protected] 1 Nachbesprechung: Übung 2 2 Übung 2: Abgaben Habe von allen Abgaben erhalten! Kompliment an euch alle! 3 Tests laufen lassen vor Submit

Mehr

Software Entwicklung 1

Software 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 Ü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 (

Mehr

Bäume. Text. Prof. Dr. Margarita Esponda SS 2012 O4 O5 O6 O ALP2-Vorlesung, M. Esponda

Bäume. Text. Prof. Dr. Margarita Esponda SS 2012 O4 O5 O6 O ALP2-Vorlesung, M. Esponda Bäume O1 O2 Text O3 O4 O5 O6 O7 Prof. Dr. Margarita Esponda SS 2012 22. ALP2-Vorlesung, M. Esponda Inhalt 1. Einführung 2. Warum Bäume? 3. Listen und Arrays vs. Bäume 4. Einfach verkettete binäre Suchbäume

Mehr

Objektorientierte Programmierung

Objektorientierte 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

Abschnitt 11: Beispiel: Die Klasse String (Teil 1)

Abschnitt 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

Mehr

EINFÜHRUNG IN DIE PROGRAMMIERUNG

EINFÜ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

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin 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

Mehr

13. Bäume: effektives Suchen und Sortieren

13. 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:

Mehr

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA 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

Mehr

Wie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen?

Wie 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

Mehr

13. Bäume: effektives Suchen und Sortieren

13. Bäume: effektives Suchen und Sortieren Schwerpunkte Aufgabe und Vorteile von Bäumen 13. Bäume: effektives Suchen und Sortieren Java-Beispiele: Baum.java Traverse.java TraverseTest.java Sortieren mit Bäumen Ausgabealgorithmen: - Preorder - Postorder

Mehr

Informatik II Übung 06. Benjamin Hepp 5 April 2017

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.

Mehr

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

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

Mehr

Abschnitt 7: Beispiel: Die Klasse String (Teil 1)

Abschnitt 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

Pascal Schärli

Pascal Schärli Informatik I - Übung 8 Pascal Schärli [email protected] 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

Mehr

Abgabe: (vor 12 Uhr)

Abgabe: (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,

Mehr

Objektorientierte Programmierung

Objektorientierte 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)

Mehr

EINFÜHRUNG IN DIE PROGRAMMIERUNG

EINFÜHRUNG IN DIE PROGRAMMIERUNG EINFÜHRUNG IN DIE PROGRAMMIERUNG GRUNDLAGEN Tobias Witt 24.03.2014 ORGANISATORISCHES [email protected] 10:30-12:00 Täglich Übungen zur Vertiefung Laptop hier nicht erforderlich Aber später in den Übungen!

Mehr

Beispielprüfung CuP WS 2015/2016

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

Mehr

Informatik II Musterlösung

Informatik 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,

Mehr

Nachtragstest in Programmkonstruktion 1. Phase. 1. Multiple-Choice-Aufgaben

Nachtragstest 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

Mehr

Informatik II Übung 5

Informatik II Übung 5 Informatik II Übung 5 Gruppe 2 Carina Fuss [email protected] 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 Ü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:

Mehr

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!

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! 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

Mehr

Tutorium 2. Strings. Skript zur Vorlesung Einführung in die Programmierung

Tutorium 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

Mehr

Software Entwicklung 1. Fallstudie: Arithmetische Ausdrücke. Rekursive Klassen. Überblick. Annette Bieniusa / Arnd Poetzsch-Heffter

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

Mehr

7. Dynamische Datenstrukturen Bäume. Informatik II für Verkehrsingenieure

7. 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

Mehr

4.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.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.

Mehr

Aufgabe11. Methode test1. import java.util.hashmap; import java.util.arraylist; public class Aufgabe11 {

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

Mehr

18. Vererbung und Polymorphie

18. 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

Mehr

Klausur. 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, 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)*

Mehr

Einführung in die Informatik 2

Einfü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

Mehr