Tutoraufgabe 1 (Programmieren in Prolog):
|
|
|
- Edwina Martin
- vor 6 Jahren
- Abrufe
Transkript
1 Prof. aa Dr. J. Giesl S. Dollase, M. Hark, D. Korzeniewski Tutoraufgabe 1 (Programmieren in Prolog): In dieser Aufgabe sollen einige Abhängigkeiten im Übungsbetrieb Programmierung in Prolog modelliert und analysiert werden. Die gewählten Personennamen sind frei erfunden und eventuelle Übereinstimmungen mit tatsächlichen Personennamen sind purer Zufall. Person Rang J. Giesl (jgi) Professor J. Hensel (jhe) Assistent M. Hark (mha) Assistent D. Korzeniewski (dko) Assistent L. Bernwald (lbe) Tutor S. Azari (saz) Tutor F. Ail (fai) Student N. Erd (ner) Student M. Ustermann (mus) Student Schreiben Sie keine Prädikate auÿer den geforderten und nutzen Sie bei Ihrer Implementierung jeweils Prädikate aus den vorangegangenen Aufgabenteilen. a) Übertragen Sie die Informationen der Tabelle in eine Wissensbasis für Prolog. Geben Sie hierzu Fakten für die Prädikatssymbole person und hatrang an. Hierbei gilt person(x), falls X eine Person ist und hatrang(x, Y), falls X den Rang Y hat. b) Stellen Sie eine Anfrage an das im ersten Aufgabenteil erstellte Programm, mit der man herausnden kann, wer ein Assistent ist. Hinweise: Durch die wiederholte Eingabe von ; nach der ersten Antwort werden alle Antworten ausgegeben. c) Schreiben Sie ein Prädikat bossvon, womit Sie abfragen können, wer innerhalb der Übungsbetriebshierarchie einen Rang direkt über dem eines anderen bekleidet. Die Reihenfolge der Ränge ist Professor > Assistent > Tutor > Student. So ist z.b. bossvon(jhe,lbe) wahr, während bossvon(dko,fai) und bossvon(lbe,jhe) beide falsch sind. d) Stellen Sie eine Anfrage, mit der Sie alle Personen herausnden, die in der Übungsbetriebshierarchie direkte Untergebene haben. Dabei sind mehrfache Antworten mit dem gleichen Ergebnis erlaubt. e) Schreiben Sie schlieÿlich ein Prädikat vorgesetzt mit zwei Regeln, mit dem Sie alle Paare von Personen abfragen können, sodass die erste Person in der Übungsbetriebshierarchie der zweiten Person vorgesetzt ist. Eine Person X ist einer Person Y vorgesetzt, wenn der Rang von X gröÿer als der Rang von Y ist (wobei wieder Professor > Assistent > Tutor > Student gilt). So sind z.b. vorgesetzt(jgi, fai) und vorgesetzt(dko, fai) beide wahr, während vorgesetzt(lbe, jhe) falsch ist. person ( jgi ). person ( jhe ). person ( mha ). person ( dko ). person ( lbe ). person ( saz ). person ( fai ). person ( ner ). 1
2 person ( mus ). hatrang ( jgi, professor ). hatrang ( jhe, assistent ). hatrang ( mha, assistent ). hatrang ( dko, assistent ). hatrang ( lbe, tutor ). hatrang ( saz, tutor ). hatrang ( fai, student ). hatrang ( ner, student ). hatrang ( mus, student ). %?- hatrang (X, assistent ). % X = jhe ; % X = mha ; % X = dko. bossvon (X, Y) :- hatrang (X, professor ), hatrang (Y, assistent ). bossvon (X, Y) :- hatrang (X, assistent ), hatrang (Y, tutor ). bossvon (X, Y) :- hatrang (X, tutor ), hatrang (Y, student ). % Teilaufgabe d) %?- bossvon (X, _ ). % X = jgi ; % X = jgi ; % X = jgi ; % X = jhe ; % X = jhe ; % X = mha ; % X = mha ; % X = dko ; % X = dko ; % X = lbe ; % X = lbe ; % X = lbe ; % X = saz ; % X = saz ; % X = saz ; % false. % Teilaufgabe e) vorgesetzt (B, S) :- bossvon (B, S ). vorgesetzt (B, S) :- bossvon (B, X), vorgesetzt (X, S ). Aufgabe 2 (Programmieren in Prolog): ( = 5 Punkte) In dieser Aufgabe soll ein Bewertungssystem in Prolog modelliert und analysiert werden. Jede Unterkunft kann mit 1 bis 5 Sternen bewertet werden. 2
3 Unterkunft Waldhotel (wh) Berghotel (bh) Hotel am See (sh) Pilgerhotel (ph) Jugendherberge (jh) Bett bei Freunden (fb) Bewertung 4 Sterne 5 Sterne 2 Sterne 1 Sterne 3 Sterne 5 Sterne Schreiben Sie keine Prädikate auÿer den geforderten und nutzen Sie bei Ihrer Implementierung jeweils Prädikate aus den vorangegangenen Aufgabenteilen. Benutzen Sie keine vordenierten Prädikate. Achten Sie auf die korrekte Schreibweise der Namen aus der Aufgabenstellung. a) Übertragen Sie die oben gegebenen Informationen in eine Wissensbasis für Prolog. Geben Sie hierzu Fakten und/oder Regeln für die Prädikatssymbole istunterkunft, hateinenstern, hatzweisterne, hatdreisterne, hatviersterne und hatfuenfsterne an. Hierbei gilt istunterkunft(x), falls X eine Unterkunft ist, hateinenstern(x), falls X eine mit einem Stern bewertete Unterkunft ist, hatzweisterne(x), falls X eine mit zwei Sternen bewertete Unterkunft ist, usw. b) Geben Sie eine Anfrage an das im ersten Aufgabenteil erstellte Programm an, mit der man herausnden kann, welche Unterkünfte mit fünf Sternen bewertet worden sind. Hinweise: Durch die wiederholte Eingabe von ; nach der ersten Antwort werden alle Antworten ausgegeben. c) Schreiben Sie ein Prädikat hateinensternweniger, womit Sie abfragen können, ob eine Unterkunft mit genau einem Stern weniger bewertet wurde als eine zweite Unterkunft. So ist beispielsweise hateinensternweniger(wh, fb) wahr, während hateinensternweniger(sh, bh) und hateinensternweniger(jh, sh) beide falsch sind. d) Stellen Sie eine Anfrage, mit der Sie alle Unterkünfte herausnden, die so bewertet wurden, dass es mindestens eine weitere Unterkunft gibt, welche mit genau einem Stern weniger bewertet worden ist. Dabei sind mehrfache Antworten mit dem gleichen Ergebnis erlaubt. e) Schreiben Sie ein Prädikat hatwenigersterne, mit welchem Sie alle Paare von Unterkünften abfragen können, sodass die erste Unterkunft schlechter bewertet worden ist als die zweite Unterkunft. So ist z.b. hatwenigersterne(ph, bh) wahr, während hatwenigersterne(bh, fb) und hatwenigersterne(jh, ph) beide falsch sind. istunterkunft ( wh ). istunterkunft ( bh ). istunterkunft ( sh ). istunterkunft ( ph ). istunterkunft ( jh ). istunterkunft ( fb ). hateinenstern ( ph ). hatzweisterne ( sh ). hatdreisterne ( jh ). hatviersterne ( wh ). hatfuenfsterne ( bh ). hatfuenfsterne ( fb ). %?- hatfuenfsterne (X ). 3
4 % X = bh ; % X = fb. hateinensternweniger (X, Y) :- hateinenstern (X), hatzweisterne (Y ). hateinensternweniger (X, Y) :- hatzweisterne (X), hatdreisterne (Y ). hateinensternweniger (X, Y) :- hatdreisterne (X), hatviersterne (Y ). hateinensternweniger (X, Y) :- hatviersterne (X), hatfuenfsterne (Y ). % Teilaufgabe d) %?- hateinensternweniger (_, Y ). % Y = sh ; % Y = jh ; % Y = wh ; % Y = bh ; % Y = fb. % Teilaufgabe e) hatwenigersterne (X, Y) :- hateinensternweniger (X, Y ). hatwenigersterne (X, Y) :- hateinensternweniger (X, Z), hatwenigersterne (Z, Y ). Tutoraufgabe 3 (Prolog mit Listen und eigenen Datenstrukturen): Natürliche Zahlen lassen sich in Prolog (oder anderen deklarativen Sprachen) durch die Peano-Notation als Terme darstellen. Dabei stellt die Konstante 0 die Zahl 0 dar und für eine Zahl n dargestellt durch den Term N stellt s(n) die Zahl n + 1 dar. So wird z. B. die Zahl 3 durch den Term s(s(s(0))) dargestellt. Binäre Bäume können in Prolog folgendermaÿen als Terme dargestellt werden. Sei n eine natürliche Zahl dargestellt durch den Term N. Dann repräsentiert der Term leaf(n) einen Baum mit nur einem Blatt, welches den Wert n enthält. Für zwei Bäume x und y dargestellt durch die Terme X und Y repräsentiert der Term node(x,n,y) einen binären Baum mit einem Wurzelknoten, der den Wert n enthält und die Teilbäume x und y hat. Als Beispiel ist nachfolgend ein binärer Baum und seine Darstellung als Term angegeben node(leaf(s(0)),s(s(0)),node(leaf(s(0)),0,leaf(s(s(s(0)))))) a) Schreiben Sie ein Prädikat increment/2 in Prolog, wobei increment(b,incb) genau dann wahr sein soll, wenn sich der Baum IncB aus dem Baum B ergibt, indem jede Zahl, die in einem Knoten oder Blatt steht, um eins erhöht wird. Beispielsweise soll der Aufruf increment(node(leaf(s(0)),s(s(0)),leaf(0)),res) das Ergebnis Res = node(leaf(s(s(0))),s(s(s(0))),leaf(s(0))) liefern. b) Schreiben Sie ein Prädikat append(xs,ys,res), das die Listen XS und YS hintereinanderhängt. Ein Aufruf von append([a,b,c],[d,e],res) würde das Ergebnis Res = [a,b,c,d,e] liefern. 4
5 c) Es gibt verschiedene Verfahren, um einen Baum systematisch zu durchsuchen. Man unterscheidet zwischen Pre-, In- und Postorder-Traversierung. Bei einer Preorder-Traversierung wird zuerst die Wurzel (W) eines Baums durchsucht, dann der linke Teilbaum (L) und anschlieÿend der rechte Teilbaum (R). Bei Inorder ist die Reihenfolge LWR und bei Postorder LRW. Für den Beispielbaum aus der Abbildung ergeben sich folgende Ausgaben: Preorder: 2, 1, 0, 1, 3 Postorder: 1, 1, 3, 0, 2 Inorder: 1, 2, 1, 0, 3 Sie sollen nun eine Funktion inorder(b,res) schreiben, die alle Knoten eines Baumes in Inorder- Reihenfolge in die Liste Res einträgt. Wenn B der Baum aus der Abbildung ist, so würde inorder(b,res) das Ergebnis Res = [s(0),s(s(0)),s(0),0,s(s(s(0)))] liefern. Hinweise: Sie dürfen die Funktion append aus Teilaufgabe b) verwenden. increment ( leaf (X), leaf (s(x ))). increment ( node (L, N, R), node ( IncL, s(n), IncR )) :- increment (L, IncL ), increment (R, IncR ). append ([], YS, YS ). append ([ X XS ], YS, [X Res ]) :- append (XS, YS, Res ). inorder ( leaf (X ),[ X ]). inorder ( node (L, N, R), Res ) :- inorder (L, ResL ), inorder (R, ResR ), append ( ResL, [N ResR ], Res ). Aufgabe 4 (Prolog mit Listen und eigenen Datenstrukturen): ( = 10.5 Punkte) Verwenden Sie in dieser Aufgabe keine vordenierten Prädikate. Nutzen Sie Prädikate, deren Implementierung in früheren Teilaufgaben gefordert wurde, falls dies sinnvoll ist. a) Eine Möglichkeit, Listen in Prolog darzustellen, ist die Verwendung eines nullstelligen Funktionssymbols nil zur Repräsentation der leeren Liste und eines zweistelligen Funktionssymbols cons zur Repräsentation nicht-leerer Listen, wobei das erste Argument von cons der in dem aktuellen Listenelement gespeicherte Wert und das zweite Argument von cons die Restliste ist. Auf diese Art und Weise kann z.b. die Liste [1,2,3] durch den Term cons(1, cons(2, cons(3, nil))) dargestellt werden. Implementieren Sie ein Prädikat islist(x) das genau dann wahr ist, wenn X eine mit Hilfe der Funktionssymbole nil und cons beschriebene Liste ist. Beispielsweise sollte islist(cons(a, cons(b, nil))) wahr sein, aber islist(cons(nil, 1)) ist falsch. b) Implementieren Sie ein Prädikat toprologlist(x,y) das genau dann wahr ist, wenn X eine mit Hilfe der Funktionssymbole nil und cons (siehe vorheriger Aufgabenteil) beschriebene Liste ist und 5
6 Y die gleiche Liste wie X beschreibt, dazu jedoch die vordenierten Prolog-Listen nutzt. Es soll also beispielsweise toprologlist(cons(1, cons(2, cons(3, nil))), [1,2,3]) gelten. c) Implementieren Sie mit den vordenierten Listen in Prolog ein Prädikat flatten(x,y) das genau dann wahr ist, wenn X eine Liste von Listen ist und Y jene Liste ist, die entsteht, wenn man alle Element von X konkateniert. Es soll also beispielsweise flatten([[1,2,3],[],[3,4]], [1,2,3,3,4]) gelten. d) Implementieren Sie ein Prädikat appendelement(x,y,z), das genau dann wahr ist, wenn die Liste Z entsteht, wenn man an die Liste X das Element Y hinten anhängt. Verwenden Sie zum Lösen dieser Aufgabe die vordenierten Prolog-Listen. Es soll also beispielsweise appendelement([1,2], 3, [1,2,3]) gelten. e) Implementieren Sie ein Prädikat reverselist(x,y), das genau dann wahr ist, wenn die Liste Z entsteht, wenn man die Liste X umkehrt. Verwenden Sie zum Lösen dieser Aufgabe wieder die vordenierten Prolog-Listen. Es soll also beispielsweise reverselist([1,2,3,4], [4,3,2,1]) gelten. islist ( nil ). islist ( cons (_, XS )) :- islist ( XS ). toprologlist ( nil, []). toprologlist ( cons (X, XS ), [X YS ]) :- toprologlist (XS, YS ). flatten ([], []). flatten ([[] XS ], YS ) :- flatten (XS, YS ). flatten ([[ X XS ] XSS ], [X YS ]) :- flatten ([ XS XSS ], YS ). % Teilaufgabe d) appendelement ([], Y, [Y ]). appendelement ([ X XS ], Y, [X YS ]) : - appendelement (XS, Y, YS ). % Teilaufgabe e) reverselist ([], []). reverselist ([ X], [X ]). reverselist ([ X XS ], REV ) :- reverselist (XS, YS ), appendelement (YS, X, REV ). 6
Aufgabe 2 (Unendliche Listen in Haskell):
Prof. aa Dr. J. Giesl Programmierung WS14/15 C. Aschermann, F. Frohn, J. Hensel, T. Ströder Allgemeine ˆ Die Hausaufgaben sollen in Gruppen von je Studierenden aus der gleichen Kleingruppenübung (Tutorium)
Tutoraufgabe 1 (Programmieren in Prolog):
Prof. aa Dr. J. Giesl Programmierung WS1/13 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder Allgemeine Die Hausaufgaben sollen in Gruppen von je Studierenden aus der gleichen Kleingruppenübung (Tutorium)
Tutoraufgabe 1 (Programmieren in Prolog):
Prof. aa Dr. J. Giesl Programmierung WS1/13 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder Tutoraufgabe 1 (Programmieren in Prolog): In dieser Aufgabe sollen einige Abhängigkeiten im Übungsbetrieb Programmierung
Tutoraufgabe 1 (Datenstrukturen in Haskell):
Prof. aa Dr. J. Giesl Programmierung WS16/17 F. Frohn, J. Hensel, D. Korzeniewski Allgemeine ˆ Die Hausaufgaben sollen in Gruppen von je 2 Studierenden aus der gleichen Kleingruppenübung (Tutorium) bearbeitet
Tutoraufgabe 1 (Datenstrukturen in Haskell):
Prof. aa Dr. M. Müller Programmierung WS15/16 C. Aschermann, J. Hensel, J. Protze, P. Reble Allgemeine Die Hausaufgaben sollen in Gruppen von je 3 Studierenden aus der gleichen Kleingruppenübung (Tutorium)
Tutoraufgabe 1 (Auswertungsstrategie):
Prof. aa Dr. J. Giesl Programmierung WS12/13 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder Tutoraufgabe 1 (Auswertungsstrategie): Gegeben sei das folgende Haskell-Programm: absteigend :: Int - > [ Int
Aufgabe 1 (Programmanalyse):
Prof. aa Dr. J. Giesl Programmierung WS12/13 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder Aufgabe 1 (Programmanalyse): (14 Punkte) a) Geben Sie die Ausgabe des Programms für den Aufruf java M an. Tragen
Tutoraufgabe 1 (Listen):
Prof. aa Dr. J. Giesl Programmierung WS16/17 F. Frohn, J. Hensel, D. Korzeniewski Allgemeine Die Hausaufgaben sollen in Gruppen von je 2 Studierenden aus der gleichen Kleingruppenübung (Tutorium) bearbeitet
Natürliche Bäume. (Algorithmen und Datenstrukturen I) Prof. Dr. Oliver Braun. Letzte Änderung: :16. Natürliche Bäume 1/16
Natürliche Bäume (Algorithmen und Datenstrukturen I) Prof. Dr. Oliver Braun Letzte Änderung: 18.03.2018 18:16 Natürliche Bäume 1/16 Bäume Begriffe (1/2) Bäume sind verallgemeinerte Listenstrukturen ein
2. Klausur Programmierung WS 2014/2015
Prof. aa Dr. J. Giesl C. Aschermann, F. Frohn, J. Hensel, T. Ströder Vorname: 2. Klausur Programmierung WS 2014/2015 Nachname: Studiengang (bitte genau einen markieren): Informatik Bachelor Informatik
Tutoraufgabe 1 (Auswertungsstrategie):
Prof. aa Dr. M. Müller C. Aschermann, J. Hensel, J. Protze, P. Reble Allgemeine ˆ Die Hausaufgaben sollen in Gruppen von je 3 Studierenden aus der gleichen Kleingruppenübung (Tutorium) bearbeitet werden.
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Binäre Bäume Zum Speichern und Suchen von Daten werden häufig Baumstrukturen verwendet Abspeichern von n Datenobjekten in einer Baumstruktur Ablegen von Daten ist in O(log(n))
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
4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.
Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel
Binäre Bäume Darstellung und Traversierung
Binäre Bäume Darstellung und Traversierung Name Frank Bollwig Matrikel-Nr. 2770085 E-Mail [email protected] Datum 15. November 2001 0. Vorbemerkungen... 3 1. Terminologie binärer Bäume... 4 2.
Motivation Binäre Suchbäume
Kap..: Binäre Suchbäume Professor Dr. Lehrstuhl für Algorithm Engineering, LS Fakultät für Informatik, TU Dortmund Zusätzliche Lernraumbetreuung Morteza Monemizadeh: Jeden Montag von :00 Uhr-:00 Uhr in
Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. B4.1 Definitionen und Eigenschaften. B4.2 Traversierung. B4.
Algorithmen und Datenstrukturen 28. März 2019 B4. Intermezzo - Bäume Algorithmen und Datenstrukturen B4. Intermezzo - Bäume B4.1 Definitionen und Eigenschaften Marcel Lüthi and Gabriele Röger Universität
Datenstrukturen & Algorithmen Lösungen zu Blatt 4 FS 15
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 18. März
Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1
Stud.-Nummer: Datenstrukturen & Algorithmen Seite 1 Aufgabe 1. / 16 P Instruktionen: 1) In dieser Aufgabe sollen Sie nur die Ergebnisse angeben. Diese können Sie direkt bei den Aufgaben notieren. 2) Sofern
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,
Programmierung WS18/19 Übungsblatt 9 (Abgabe Freitag, den um 12 Uhr)
Prof. aa Dr. J. Giesl S. Dollase, M. Hark, D. Korzeniewski Aufgabe 2 (Datenstrukturen in Haskell): (2 + 1 + 2 + 2.5 + 3.5 = 11 Punkte) In dieser Aufgabe geht es darum, arithmetische Ausdrücke auszuwerten.
2.4 Durchlaufen von Bäumen
2.4 Durchlaufen von Bäumen Möchte man alle Elemente eines Baumes ausgeben, muss man sich Strategien überlegen, in welcher Reihenfolge der Baum durchlaufen wird. Der Zugriff auf einzelne Knoten eines Baumes
Übung 3 Musterlösung
Prof aa Dr Ir Joost-Pieter Katoen Sebastian Junges, Benjamin Kaminski, David Korzeniewski, Tim Quatmann Hinweise: Übung 3 Musterlösung Die Lösungen müssen bis Donnerstag, den 03 Mai um 16:00 Uhr in den
Übungen zu Programmierung I - Blatt 8
Dr. G. Zachmann A. Greß Universität Bonn Institut für Informatik II 1. Dezember 2004 Wintersemester 2004/2005 Übungen zu Programmierung I - Blatt 8 Abgabe am Mittwoch, dem 15.12.2004, 15:00 Uhr per E-Mail
Algorithmen und Datenstrukturen. Bäume. M. Herpers, Y. Jung, P. Klingebiel
Algorithmen und Datenstrukturen Bäume M. Herpers, Y. Jung, P. Klingebiel 1 Lernziele Baumstrukturen und Ihre Verwendung kennen Grundbegriffe zu Bäumen anwenden können Baumstruktur in C anlegen können Suchbäume
Programmierung 1 (Wintersemester 2015/16) Wiederholungstutorium Lösungsblatt 15 (Linearer Speicher, Listen, Bäume)
Fachrichtung 6.2 Informatik Universität des Saarlandes Tutorenteam der Vorlesung Programmierung 1 Programmierung 1 (Wintersemester 2015/16) Wiederholungstutorium Lösungsblatt 15 (Linearer Speicher, Listen,
Wiederholung. Datenstrukturen und. Bäume. Wiederholung. Suchen in linearen Feldern VO
Wiederholung Datenstrukturen und Algorithmen VO 708.031 Suchen in linearen Feldern Ohne Vorsortierung: Sequentielle Suche Speicherung nach Zugriffswahrscheinlichkeit Selbstanordnende Felder Mit Vorsortierung:
Idee: Wenn wir beim Kopfknoten zwei Referenzen verfolgen können, sind die Teillisten kürzer. kopf Eine Datenstruktur mit Schlüsselwerten 1 bis 10
Binäre Bäume Bäume gehören zu den wichtigsten Datenstrukturen in der Informatik. Sie repräsentieren z.b. die Struktur eines arithmetischen Terms oder die Struktur eines Buchs. Bäume beschreiben Organisationshierarchien
(a, b)-bäume / 1. Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss.
(a, b)-bäume / 1. Szenario: Datenmenge ist so groß, dass sie auf der Festplatte abgespeichert werden muss. Konsequenz: Kommunikation zwischen Hauptspeicher und Festplatte - geschieht nicht Byte für Byte,
ADS: Algorithmen und Datenstrukturen
ADS: Algorithmen und Datenstrukturen Teil VII Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University of Leipzig 08.
Tutoraufgabe 1 (Hoare-Kalkül):
Prof. aa Dr. J. Giesl Programmierung WS16/17 F. Frohn, J. Hensel, D. Korzeniewski Allgemeine Die Hausaufgaben sollen in Gruppen von je 2 Studierenden aus der gleichen Kleingruppenübung (Tutorium) bearbeitet
Tutoraufgabe 1 (2 3 4 Bäume):
Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS Übungsblatt (Abgabe.0.0) F. Corzilius, S. Schupp, T. Ströder Allgemeine Hinweise: Die Hausaufgaben sollen in Gruppen von je bis Studierenden aus
Algorithmen und Datenstrukturen 1
Algorithmen und Datenstrukturen 1 7. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik [email protected] aufbauend auf den Kursen der letzten Jahre von E. Rahm, G. Heyer,
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:
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
Übung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 216 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda Vorstellung des 6. Übungsblatts. Hashing Binäre Suchbäume AVL-Bäume 2 Aufgabe: Hashing mit
Datenstrukturen. einfach verkettete Liste
einfach verkettete Liste speichert Daten in einer linearen Liste, in der jedes Element auf das nächste Element zeigt Jeder Knoten der Liste enthält beliebige Daten und einen Zeiger auf den nächsten Knoten
Übung Informatik I - Programmierung - Blatt 8
RHEINISCH- WESTFÄLISCHE TECHNISCHE HOCHSCHULE AACHEN LEHR- UND FORSCHUNGSGEBIET INFORMATIK II RWTH Aachen D-5056 Aachen GERMANY http://programmierung.informatik.rwth-aachen.de LuFG Informatik II Prof.
Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Übersicht: Graphen. Definition: Ungerichteter Graph. Definition: Ungerichteter Graph
Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 07 Dr. Stefanie Demirci Computer Aided Medical Procedures Technische Universität München 7 Fortgeschrittene Datenstrukturen Graphen
Tutoraufgabe 1 (Casting): Programmierung WS17/18 Übungsblatt 2 (Abgabe ) Allgemeine Hinweise:
Prof. aa Dr. J. Giesl Programmierung WS17/18 M. Hark, J. Hensel, D. Korzeniewski Allgemeine Die Hausaufgaben sollen in Gruppen von je 2 Studierenden aus der gleichen Kleingruppenübung (Tutorium) bearbeitet
Algorithmen und Datenstrukturen 1
Algorithmen und Datenstrukturen 1 8. Vorlesung Martin Middendorf und Peter F. Stadler Universität Leipzig Institut für Informatik [email protected] [email protected] Gefädelte
Logische Programmierung & Deduktive Datenbanken Klausur
Prof. Dr. Stefan Brass 22. September 2011 Institut für Informatik MLU Halle-Wittenberg Logische Programmierung & Deduktive Datenbanken Klausur Name: Matrikelnummer: Studiengang: Aufgabe Punkte Max. Punkte
Tutoraufgabe 1 (Suchen in Graphen):
Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS14 F. Corzilius, S. Schupp, T. Ströder Tutoraufgabe 1 (Suchen in Graphen): a) Geben Sie die Reihenfolge an, in der die Knoten besucht werden, wenn
Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. B3.1 Einführung. B3.2 Verkettete Liste. B3.3 Bäume
Algorithmen und Datenstrukturen 22. März 2018 B3. Verkettete Listen und Bäume Algorithmen und Datenstrukturen B3. Verkettete Listen und Bäume B3.1 Einführung Marcel Lüthi and Gabriele Röger B3.2 Verkettete
13. Binäre Suchbäume
1. Binäre Suchbäume Binäre Suchbäume realiesieren Wörterbücher. Sie unterstützen die Operationen 1. Einfügen (Insert) 2. Entfernen (Delete). Suchen (Search) 4. Maximum/Minimum-Suche 5. Vorgänger (Predecessor),
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen B3. Verkettete Listen und Bäume Marcel Lüthi and Gabriele Röger Universität Basel 22. März 2018 Einführung Abstrakter Datentyp / Datenstruktur Abstrakter Datentyp Eine Menge
Ordnungsrelationen auf Mengen. Beispiel einer Ordnungsrelation. Spezielle Elemente von Ordnungen. Spezielle Elemente von Ordnungen
Ordnungsrelationen auf Mengen! Eine (partielle) Ordnungsrelation oder kurz Ordnung O auf einer Menge M ist eine Relation, die reflexiv, antisymmetrisch und transitiv ist. Beispiel: M = { 1, 2, 3 }, O =
Ordnungsrelationen auf Mengen
Ordnungsrelationen auf Mengen Eine (partielle) Ordnungsrelation oder kurz Ordnung O auf einer Menge M ist eine Relation, die reflexiv, antisymmetrisch und transitiv ist. Beispiel: M = { 1, 2, 3 }, O =
Pro Informatik 2009: Objektorientierte Programmierung Tag 18. Marco Block-Berlitz, Miao Wang Freie Universität Berlin, Institut für Informatik
Tag 18 Marco Block-Berlitz, Miao Wang Freie Universität Berlin, Institut für Informatik 09.09.2009 Agenda Tag 16 Datenstrukturen Abstrakte Datentypen, ADT Folge: Stack, Queue, Liste, ADT Menge: Bäume:
Aufgabe 1 Basiswissen zur Vorlesung (8 Punkte)
Matrikelnummer: 1 Aufgabe 1 Basiswissen zur Vorlesung (8 Punkte) Kreuzen Sie an, ob die folgenden Aussagen richtig oder falsch sind. Bewertung: keine Antwort: 0 Punkte richtige Antwort: +0.5 Punkte falsche
Rekursive Listenverarbeitung
Rekursive Listenverarbeitung Übersicht Rekursion ist die wichtigste Programmiertechnik in Prolog! Rekursive Datenstrukturen Einfache und rekursiv gebildete Strukturen Rekursive Datenstrukturen und rekursive
Was bisher geschah. deklarative Programmierung. funktionale Programmierung (Haskell):
Was bisher geschah deklarative Programmierung funktional: Programm: Menge von Termgleichungen, Term Auswertung: Pattern matsching, Termumformungen logisch: Programm: Menge von Regeln (Horn-Formeln), Formel
Bäume und der Sequence ADT
Bäume und der Sequence ADT Motivation: Der Sequence ADT Bei der Vorstellung verschiedener Implementierungen für Stacks, Queues und Deques wurde vor allem auf die Unterschiede zwischen Arrays fester Größe,
Datenstrukturen und Algorithmen SS17 Lösung - Übung 5
Prof. aa Dr. Ir. G. Woeginger T. Hartmann, D. Korzeniewski, B. Tauer Hausaufgabe (Inorder-Traversierung binärer Suchbäume): (3 + 3 Punkte) Es soll bewiesen werden, dass die Inorder-Traversierung alle Schlüssel
Einführung in die funktionale Programmierung
Einführung in die funktionale Programmierung Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 26. Oktober 2006 Haskell - Einführung Syntax Typen Auswertung Programmierung
Tutoraufgabe 1 (Klassenhierarchie):
Prof. aa Dr. J. Giesl Programmierung WS14/15 C. Aschermann, F. Frohn, J. Hensel, T. Ströder Allgemeine Die Hausaufgaben sollen in Gruppen von je 2 Studierenden aus der gleichen Kleingruppenübung (Tutorium)
Klausur zur Vorlesung Algorithmen und Datenstrukturen
Klausur zur Vorlesung Algorithmen und Datenstrukturen Die Dauer der Klausur beträgt 120 Minuten. Erlaubte Hilfsmittel: Ein selbst handschriftlich beschriebenes DIN A4 Blatt, das komplette Skript zur Vorlesung
Tutoraufgabe 1 (2 3 4 Bäume):
Prof. aa Dr. E. Ábrahám Datenstrukturen und Algorithmen SS Lösung - Übung F. Corzilius, S. Schupp, T. Ströder Tutoraufgabe ( Bäume): a) Löschen Sie den Wert aus dem folgenden Baum und geben Sie den dabei
Beispiellösung zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 5
Robert Elsässer Paderborn, den 15. Mai 2008 u.v.a. Beispiellösung zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 5 AUFGABE 1 (6 Punkte): Nehmen wir an, Anfang bezeichne in einer normalen
Datenstrukturen (SoSe 12) Klausur (Modulabschlussprüfung)
Goethe-Universität Frankfurt am Main 27. Juli 2012 Institut für Informatik Theorie komplexer Systeme Dr. Mariano Zelke Datenstrukturen (SoSe 12) Klausur (Modulabschlussprüfung) Name: Vorname: Studiengang:
Teil 4: Rekursion und Listen
Einführung in das Programmieren Prolog Sommersemester 2006 Teil 4: Rekursion und Listen Version 1.0 Gliederung der LV Teil 1: Ein motivierendes Beispiel Teil 2: Einführung und Grundkonzepte Syntax, Regeln,
Programmieren in Haskell Programmiermethodik
Programmieren in Haskell Programmiermethodik Peter Steffen Universität Bielefeld Technische Fakultät 12.01.2011 1 Programmieren in Haskell Bisherige Themen Was soll wiederholt werden? Bedienung von hugs
Ordnungsrelationen auf Mengen
Ordnungsrelationen auf Mengen Eine (partielle) Ordnungsrelation oder kurz Ordnung O auf einer Menge M ist eine Relation, die reflexiv, antisymmetrisch und transitiv ist. Beispiel: M = { 1, 2, 3 }, O =
Gliederung. Programmierparadigmen. Einführung in Prolog: Einführung in Prolog: Programmieren in Prolog. Einführung Syntax Regeln Listen Relationen
Gliederung Programmierparadigmen Programmieren in Prolog D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg 1 Sommer 2011, 26. April
Algorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 2016/17 13. Vorlesung Binäre Suchbäume Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Dynamische Menge verwaltet Elemente einer sich ändernden Menge
Datenstrukturen und Algorithmen (SS 2013) Prof. Dr. Leif Kobbelt Thomas Ströder, Fabian Emmes, Sven Middelberg, Michael Kremer
Präsenzübung Datenstrukturen und Algorithmen (SS 2013) Prof. Dr. Leif Kobbelt Thomas Ströder, Fabian Emmes, Sven Middelberg, Michael Kremer Dienstag, 28. Mai 2013 Nachname: Vorname: Matrikelnummer: Studiengang:
1 Der Baum. Informatik I: Einführung in die Programmierung 11. Bäume. Bäume in der Informatik. Bäume in der Informatik - Definition.
1 Informatik I: Einführung in die Programmierung 11. Bäume e e Albert-Ludwigs-Universität Freiburg Bernhard Nebel 13. November 2015 13. November 2015 B. Nebel Info I 3 / 33 Bäume in der Informatik Bäume
Tutoraufgabe 1 (Datenstrukturen in Haskell):
Prof. aa Dr. J. Giesl S. Dollase, M. Hark, D. Korzeniewski Allgemeine Die Hausaufgaben sollen in Gruppen von je 2 Studierenden aus der gleichen Kleingruppenübung (Tutorium) bearbeitet werden. Namen und
Kap. 4.2: Binäre Suchbäume
Kap. 4.2: Binäre Suchbäume Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 11. VO DAP2 SS 2009 26. Mai 2009 1 Zusätzliche Lernraumbetreuung Morteza Monemizadeh:
Algorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens [email protected] Elementare Datenstrukturen Array Linked List Stack Queue Tree (Feld) (Verkettete Liste) (Stapel) (Warteschlange) (Baum) Einschub:
4.1 Bäume, Datenstrukturen und Algorithmen. Zunächst führen wir Graphen ein. Die einfachste Vorstellung ist, dass ein Graph gegeben ist als
Kapitel 4 Bäume 4.1 Bäume, Datenstrukturen und Algorithmen Zunächst führen wir Graphen ein. Die einfachste Vorstellung ist, dass ein Graph gegeben ist als eine Menge von Knoten und eine Menge von zugehörigen
Übung: Algorithmen und Datenstrukturen SS 2007
Übung: Algorithmen und Datenstrukturen SS 07 Prof. Lengauer Sven Apel, Michael Claÿen, Christoph Zengler, Christof König Blatt 8 Votierung in der Woche vom 25.06.0729.06.07 Aufgabe 22 AVL-Bäume (a) Geben
1 Der Baum. Informatik I: Einführung in die Programmierung 11. Bäume. Bäume in der Informatik. Bäume in der Informatik - Definition.
1 Informatik I: Einführung in die Programmierung 11. Bäume e e Albert-Ludwigs-Universität Freiburg Bernhard Nebel 17. November 2017 17. November 2017 B. Nebel Info I 3 / 33 Bäume in der Informatik Bäume
Teil 1: Suchen. Ausgeglichene Bäume B-Bäume Digitale Suchbäume. M.O.Franz, Oktober 2007 Algorithmen und Datenstrukturen - Binärbäume 1-1
Teil : Suchen Problemstellung Elementare Suchverfahren Hashverfahren Binäre Suchbäume (Wiederholung aus Prog 2) Bäume: Begriffe, Eigenschaften und Traversierung Binäre Suchbäume Gefädelte Suchbäume Ausgeglichene
Algorithmen und Datenstrukturen VO 3.0 Vorlesungsprüfung 19. Oktober 2007
Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen 1 186.089 VO 3.0 Vorlesungsprüfung 19. Oktober
Beispiellösungen zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 6
Robert Elsässer u.v.a. Paderborn, 29. Mai 2008 Beispiellösungen zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 6 Aufgabe 1 (6 Punkte): Zunächst sollte klar sein, daß ein vollständiger Binärer
Abgabe: (vor der Vorlesung) Aufgabe 7.1 (P) Binomial Heap
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 7 Prof. Dr. Helmut Seidl, S. Pott,
Aufgabe 2 (Collections):
Prof. aa Dr. J. Giesl M. Brockschmidt, F. Emmes, C. Fuhs, C. Otto, T. Ströder Allgemeine Die Hausaufgaben sollen in Gruppen von je 2 Studierenden aus der gleichen Kleingruppenübung bearbeitet werden. Namen
