Abgabe: :00. Achten Sie darauf nicht zu lange Zeilen, Methoden und Dateien zu erstellen 1
|
|
- Jasmin Goldschmidt
- vor 7 Jahren
- Abrufe
Transkript
1 Programmieren Wintersemester 2/ Software-esign und Qualität (SQ) Prof. r. Ralf H. Reussner Kiana Rostami Michael Langhammer bschlussaufgabe usgabe:.2.2 : bgabe:..2 : earbeitungshinweise chten Sie darauf nicht zu lange Zeilen, Methoden und ateien zu erstellen Programmcode muss in englischer Sprache verfasst sein Kommentieren Sie Ihren ode angemessen: So viel wie nötig, so wenig wie möglich Wählen Sie geeignete Sichtbarkeiten für Ihre Klassen, Methoden und ttribute Verwenden Sie keine Klassen der Java-ibliotheken ausgenommen Klassen der Pakete java.lang, java.io und java.util, es sei denn die ufgabenstellung erlaubt ausdrücklich weitere Pakete chten Sie auf fehlerfrei kompilierenden Programmcode Halten Sie alle Whitespace-Regeln ein Halten Sie die Regeln zu Variablen-, Methoden und Paketbenennung ein und wählen Sie aussagekräftige Namen Halten Sie die Regeln zu Javadoc-okumentation ein Nutzen Sie nicht das default-package Halten Sie auch alle anderen heckstyle-regeln ein bgabemodalitäten ie Praktomat-bgabe wird am onnerstag, den 2. ebruar, freigeschaltet. eben Sie die Java-Klassen als *.java-ateien ab. Laden Sie die Terminal-Klasse nicht mit hoch. Planen Sie für die bgabe ausreichend Zeit ein, sollte der Praktomat Ihre bgabe wegen einer Regelverletzung ablehnen. ehlerbehandlung Ihre Programme sollen auf ungültige enutzereingaben mit einer aussagekräftigen ehlermeldung reagieren. us technischen ründen muss eine ehlermeldung unbedingt mit Error, beginnen. Eine ehlermeldung führt nicht dazu, dass das Programm beendet wird; es sei denn, die nachfolgende ufgabenstellung verlangt dies ausdrücklich. chten Sie inbesondere auch darauf, dass unbehandelte RuntimeExceptions, bzw. Subklassen davon sogenannte Unchecked Exceptions nicht zum bbruch des Programms führen. er Praktomat wird die bgabe zurückweisen, falls diese Regel verletzt ist.
2 Programmieren Wintersemester 2/.2.2 : eachten Sie den folgenden Hinweis zur Terminal-Klasse: Terminal-Klasse Laden Sie für diese ufgabe (nicht für ufgabe )die Terminal-Klasse a von unserer Homepage herunter und platzieren Sie diese unbedingt im Paket edu.kit.informatik. ie Methode Terminal.readLine() liest eine enutzereingabe von der Konsole und ersetzt System.in. ie Methode Terminal.printLine() schreibt eine usgabe auf die Konsole und ersetzt System.out. Verwenden Sie für jegliche Konsoleneingabe oder Konsolenausgabe die Terminal-Klasse. Verwenden Sie in keinem all System.in oder System.out. ehlermeldungen werden ausschließlich über Terminal.printLine() ausgegeben und müssen aus technischen ründen unbedingt mit Error, beginnen. Laden Sie die Terminal-Klasse niemals zusammen mit Ihrer bgabe hoch. a Navigationssystem (2 Punkte) us dem lltag kennen Sie folgende Probleme: Wie komme ich am schnellsten von nach? Was ist die kürzeste Route von nach? Ist die kürzeste Route gleichzeitig auch die Schnellste? Welche Route ist am kürzesten, wenn ich eine austelle oder utobahnen vermeiden will? Im Rahmen dieser ufgabe programmieren Sie ein kleines und vereinfachtes Navigationssystem auf der ranularitätsebene der Städte, das seinem enutzer ähnliche Routensuchen erlaubt. Um die kürzeste Route zwischen zwei Städten herauszufinden, muss zunächst das Netz von Städten, die bei Ihrer Suche in rage kommen, auf einen raphen abgebildet werden. ieser raph besteht somit aus Städten (dargestellt als Knoten) und direkten Wegen zwischen Städten (dargestellt als Kanten). ie istanz zwischen zwei Städten wird durch eine Zahl an die entsprechende Kante im raphen, auch bekannt als Kantengewichte, notiert. Lesen Sie die in den bschnitten, und vorgestellten atenstrukturen und lgorithmen aufmerksam durch. Sie benötigen diese rundlagen für Ihre Implementierung. In dieser ufgabe sind die Einheiten der istanzen in Kilometern, bzw. Minuten zu verstehen. Somit brauchen Sie die Korrektheit der Einheiten nicht zu prüfen oder diese in andere Einheiten umzurechnen. rundlagen: raph ormeller ausgedrückt ist ein ungerichteter raph ein geordnetes Paar (V, E), wobei V die Menge seiner Knoten (Vertices) und E die Menge seiner ungerichteten Kanten (Edges) bezeichnet. Eine ungerichtete Kante e E ist eine zweielementige Menge {v s, v t } mit v s V und v t V. rundlagen: Routen-raph Ein Routen-raph ist ein ungerichteter zusammenhängender raph = (V, E) ohne Mehrfachkanten. ußerdem gibt es keine Kanten, die ausgehend von einem Knoten auf denselben Knoten zeigen - auch als Schlingen bekannt. Ein ungerichteter raph ist nur dann zusammenhängend, wenn es zwischen zwei beliebigen Knoten v und w einen Weg gibt. Somit können beginnend mit einem beliebigen Knoten v V alle anderen Knoten durch mindestens einen Weg erreicht werden. Ein ungerichteter raph ohne Mehrfachkanten, ist ein raph, bei dem zwischen zwei beliebigen Knoten v und w maximal nur eine ungerichtete Kante existiert. Jeder Knoten v V repräsentiert eine Stadt. Seite 2 von 8
3 Programmieren Wintersemester 2/.2.2 : Jede Kante e = (v s, v t ) E repräsentiert einen direkten Weg zwischen zwei Städten: v s V und v t V. Weiterhin existieren zwei unktionen distancekilometer : E N und distanceminute : E N, die jeder Kante zwei istanzen (räumlich und zeitlich) zuordnen. Im olgenden erfahren Sie mehr über die istanzen.. Serialisierung eines Routen-raphen Unter einer Serialisierung verstehen wir im Rahmen dieser ufgabe die textuelle Repräsentation eines Routen- raphen: ein ormat, um einen solchen raphen in eine atei zu speichern bzw. aus einer atei auszulesen. Eine Serialisierung besteht aus zwei ereichen. er erste ereich beschreibt die Knoten des raphen. er zweite ereich beschreibt die Kanten des raphen. eide ereiche sind durch genau eine Zeile mit dem Inhalt -- voneinander separiert (vergleiche Eingabebeispiel.). er erste ereich enthält zwei oder mehrere Zeilen in beliebiger Reihenfolge. Jede Zeile beschreibt eine Stadt (Knoten). Sie können bei der Serialisierung und bei den Eingaben davon ausgehen, dass alle Städtenamen ungeachtet der roß- und Kleinschreibung eindeutig sind. ie Städtenamen sind durch den regulären usdruck [-Za-z-]+ beschrieben. ie Namen der Städte dürfen nur einmal im ersten ereich vorkommen. <Stadt> er zweite ereich enthält eine oder mehrere Zeilen in beliebiger Reihenfolge und beinhaltet alle Kanten des raphen, wobei jede Kante durch zwei Knoten, die diese Kante direkt miteinander verbindet, dargestellt werden. Zwei Knoten repräsentieren Stadt und Stadt 2. Jede Zeile beschreibt eine Kante und ist folgendermaßen aufgebaut: <Stadt >;<Stadt 2 >;<EntfernungInKilometer>;<EntfernungInMinuten> Jeder diekte Weg (Kante) verläuft zwischen zwei Städten - Stadt und Stadt 2, wobei gilt Stadt Stadt 2. <Stadt > und <Stadt 2 > sind jeweils eindeutig durch ihren Namen repräsentiert, der genauso aufgebaut ist, wie zuvor beschrieben. ußerdem dürfen nur Städte im zweiten ereich benutzt werden, die im ersten ereich bereits vorgekommen sind. <EntfernungInKilometer> ist die Entfernung zwischen Stadt und Stadt 2 in Kilometern, ausgedrückt als Integer-Zahl größer. <EntfernungInMinuten> gibt die Zeit in Minuten an, die im urchschnitt zum Zurücklegen der Strecke benötigt wird. ie Zeit wird durch eine Integer-Zahl größer ausgedrückt. a alle Kanten ungerichtet sind, ist die Wahl der Stadt und der Stadt 2 bei einer Verbindung zwischen den beiden Städten nicht weiter relevant. eachten Sie dabei, dass keine Mehrfachkanten vorkommen dürfen. ies bedeutet, dass jede Kante nur einmal im zweiten ereich vorkommen darf. ußerdem ist eine Serialisierung in dieser ufgabe nur gültig, wenn es keine allein stehenden Knoten gibt, da der raph stets zusammenhängend sein muss. eispiel für eine Eingabedatei a b d -- a;b;; a;;2; a;d;;2 b;;;2 ;d;; Seite von 8
4 Programmieren Wintersemester 2/.2.2 : rundlagen: raph-lgorithmen. Kürzeste Pfade zwischen zwei Knoten berechnen Es gibt bereits zahlreiche lgorithmen, welche ihren enutzern die erechnung der kürzesten Route erlauben. In dieser ufgabe implementieren wir den ijkstra-lgorithmus. lgorithmus beschreibt den ijkstra-lgorithmus in orm von Pseudocode. lgorithmus ijkstra-lgorithmus zur erechnung kürzester Pfade in einem raphen = (V, E) : function ShortestPath(, s, z) // S und z sind jeweils der Start- und Zielknoten in Matrix return die kürzeste Route zwischen dem Startknoten s und dem Zielknoten z 2: Initialisiere den Vorgänger aller anderen Knoten im mit null. : Intialisiere den bstand von s mit. : Initialisiere den bstand aller anderen Knoten im mit. : Markiere alle Knoten im raphen als unbesucht. : while Es gibt noch einen unbesuchten Knoten v mit dem kleinsten bstand im und v z do : Wähle den Knoten v und markiere ihn als besucht. 8: for lle direkten und unbesuchten Nachbarn u do 9: if Summe des bstandes von v und des bstandes zwischen v und u < der bstand u? then : ktualisiere den bstand von u mit der Summe des bstandes von v und des bstandes zwischen v und u : Speichere v als Vorgänger von u. 2: end if : end for : end while : Initialisiere die Route mit dem z. : while Vorgänger vom zuletzt zur Route hinzugefügten Knoten nicht null ist do : üge den Vorgänger vom zuletzt zur Route hinzugefügten Knoten zur Route hinzu. 8: end while 9: return Route 2: end function Sie können davon ausgehen, dass es nie zu einem Zustand kommt, in dem die bstände zweier Knoten gleich sind. bbildung wendet den lgorithmus auf ein eispiel an. 2 E 2 E +=8 2 E +2= == 8 2 E += += 8 2 E +=< -> 8 2 E +=<-> bbildung : eispielhafte nwendung des ijkstra-lgorithmus auf einen Routen-raphen mit istanzen in Kilometer. und sind jeweils der Start- und Zielknoten. er lgorithmus bricht ab, sobald der Zielknoten als besucht markiert wurde. Somit ist der kürzeste Weg zwischen und : E Seite von 8
5 Programmieren Wintersemester 2/.2.2 :.2 er optimale Pfad zwischen zwei Knoten Zur erechnung des optimalen Pfades werden zunächst alle Pfade zwischen zwei Knoten ermittelt. enutzen Sie hierzu den Tiefensuche-lgorithmus. Ändern Sie den lgorithmus für Ihre Implementierung so um, dass Sie alle Pfade zwischen einem Start- und einem Zielknoten herausfinden. enken Sie bei Ihren Änderungen daran, dass sich der lgorithmus zur erechnung des Weges beim esuchen eines Knotens den Vorgängerknoten merken muss. er Tiefensuche-lgorithmus ist im olgenden beschrieben: Tiefensuche startet bei einem übergebenen Startknoten eines raphen und besucht zunächst diesen Knoten. lle noch unbesuchten Knoten, die von diesem Knoten erreichbar sind, werden in einer beliebigen Reihenfolge in einer Stapel-atenstruktur (engl. Stack) gespeichert. anach wird die Tiefensuche rekursiv auf den nächsten Knoten, der im Stapel gespeichert wurde, angewendet. ieser Vorgang wird solange fortgesetzt, bis der lgorithmus entweder bei einem Knoten ohne unbesuchten benachbarten Knoten angekommen ist oder bis der Zielknoten gefunden wurde. Im nächsten Schritt wird die Route identifiziert, bei dem x 2 +t 2 das minimal ist. Wobei t die Zeit in Minuten, die für die Route benötigt wird und x die istanz der Route in Kilometer darstellen. Sie können davon ausgehen, dass es immer nur eine optimale Route gibt. Kommandozeilenargumente Ihr Programm nimmt als erstes und einziges Kommandozeilenargument einen Pfad auf eine Textdatei entgegen. iese atei beschreibt einen Routen-raphen und ist nach dem in bschnitt. eingeführten ormat aufgebaut. Zum Einlesen der atei dürfen Sie die bereitgestellte Klasse ileinputhelper 2 nutzen. Im egensatz zur Terminal-Klasse darf und muss die ileinputhelper-klasse in den Praktomaten hochgeladen werden, falls sie eingesetzt wird. Tritt beim Verarbeiten des Kommandozeilenarguments ein ehler auf, so wird eine ehlermeldung ausgegeben und das Programm beendet sich mittels System.exit(). Tritt bei der Serialisierung ein ehler auf, so wird das Programm mittels System.exit() beendet. E Interaktive enutzerschnittstelle Nach dem Start nimmt Ihr Programm über die Konsole mittels Terminal.readLine() acht efehle entgegen. Nach barbeitung eines efehls wartet das Programm auf weitere efehle, bis das Programm irgendwann durch quit beendet wird. ie nachfolgenden efehle operieren auf dem aktuellen Routen-raphen = (V, E). ies bedeutet insbesondere, dass sich die usführung vorangehender efehle, welche den raphen verändern, auf die usgabe nachfolgender efehle auswirkt. ei der usgabe Ihres Programms ist roß- und Kleinschreibung nicht relevant. usgabe einer Route: ei allen efehlen, bei denen eine Route erwartet wird, wird diese Strecke auf einer Zeile beginnend mit Startknoten, gefolgt von weiteren Knoten auf der identifizierten Strecke und genau in der richtigen Reihenfolge zum Erreichen des Zielknotens und abschließend mit dem Zielknoten ausgegeben. lle Knoten werden mit genau einer Leerzeichen separiert. Nach dem letzten Zeichen kommen keine weiteren Zeichen vor. eben Sie im olgenden nur die verlangte usgabe aus. Vermeiden Sie weiteren usgaben. Ignorieren Sie beim Speichern und Vergleich der Städtennamen roß- und Kleinschreibung. 2 Seite von 8
6 Programmieren Wintersemester 2/.2.2 : E. search-efehl er search-efehl gibt die istanz der gesuchten Route zwischen zwei Städten auf die Konsole aus. search <Startstadt>;<Zielstadt>;<criterion> <Startstadt> und <Zielstadt> sind jeweils durch ihren Namen repräsentiert wie in bschnitt beschrieben. <criterion> gibt an, nach welchem Kriterium nach einer Route gesucht werden soll. abei gibt es nur Kriterien: time gibt an, dass nach der Strecke mit der kürzesten Zeit gesucht werden soll (Vergleiche bschnitt.). route gibt an, dass nach der kürzesten Strecke in Kilometer gesucht wird (Vergleiche bschnitt.). optimal gibt an, dass nach der optimalen Strecke gesucht wird (vergleiche bschnitt.2). usgabeformat alls <Startstadt> und <Zielstadt> gültige Knoten sind, wird die istanz der Stecke in Kilometer (x), in Minuten (t) oder in x 2 + t 2 - je nach Kriterium - ausgegeben. Somit ist die usgabe nur eine Integer -Zahl. eben Sie keine weiteren Zeichen aus. Im ehlerfall wird eine aussagekräftige ehlermeldung ausgegeben. E.2 route-efehl er route-efehl gibt auf die Konsole aus, welche Route von einer bestimmten Startstadt zu einer bestimmten Zielstadt nach vorgegebenem Kriterium verläuft. enutzen Sie hierzu den Hinweis aus bschnitt.2. route <StartStadt>;<Zielstadt>;<criterion> <StartStadt> und <Zielstadt> sind jeweils durch ihren Namen repräsentiert wie in bschnitt beschrieben. <criterion> gibt an, nach welchem Kriterium eine Route gesucht werden soll. abei gibt es nur Kriterien: time gibt an, dass nach der Strecke mit der kürzesten Zeit gesucht werden soll (Vergleiche bschnitt.). route gibt an, dass nach der kürzesten Strecke in Kilometer gesucht wird (Vergleiche bschnitt.). optimal gibt an, dass nach der optimalen Strecke gesucht wird (vergleiche bschnitt.2). all gibt alle Strecken zwischen den beiden Städten an. usgabeformat alls <Startstadt> und <Zielstadt> gültige Knoten sind, wird die berechnete Route ausgegeben. eim all -efehl wird pro Zeile eine Route ausgegeben. eben Sie keine weiteren Zeichen aus. eachten Sie hierzu den Hinweis unter E zur usgabe von Routen. Im ehlerfall wird eine aussagekräftige ehlermeldung ausgegeben. E. remove-efehl er remove-efehl entfernt eine direkte Verbindung (Kante) zwischen zwei Städten. remove <Stadt >;<Stadt 2 > <Stadt > und <Stadt 2 > sind jeweils durch ihren Namen repräsentiert wie in bschnitt beschrieben. Seite von 8
7 Programmieren Wintersemester 2/.2.2 : usgabeformat alls <Stadt > und <Stadt 2 > gültige Knoten und direkt miteinander verbunden sind, wird die direkte Verbindung zwischen den beiden Städten entfernt. In diesem all wird OK ausgegeben. eben Sie keine weiteren Zeichen aus. Werden alle Kanten zu einem Knoten entfernt, wird der Knoten ebenfalls entfernt. chten Sie darauf, dass die darauf folgenden efehle auf den aktuellen raphen ausgeführt werden. Im ehlerfall wird eine aussagekräftige ehlermeldung ausgegeben. Existiert keine direkte Verbindung zwischen den Städten, wird ebenfalls eine ehlermeldung ausgegeben. Ist der raph durch usführung eines remove -efehls nicht mehr zusammenhängend, wird eine aussagekräftige ehlermeldung ausgegeben und die entsprechende Kante nicht entfernt. E. insert-efehl er insert-efehl fügt eine direkte Verbindung (Kante) zwischen zwei Städten ein. insert <Stadt >;<Stadt 2 >;<EntfernungInKilometer>;<EntfernungInMinuten> <Stadt > und <Stadt 2 > sind jeweils durch ihren Namen repräsentiert wie in bschnitt beschrieben. <EntfernungInKilometer> und <EntfernungInMinuten> sind jeweils die istanz in der beiden Städten in Kilometer und Minuten. usgabeformat Hier ist es ausreichend, wenn eine der beiden Städten (<Stadt > und <Stadt 2 >) ein gültiger Knoten ist. Existiert einer der Knoten nicht, wird er zum raphen hinzugefügt. Schließlich werden die Knoten miteinander direkt durch eine Kante verbunden. In diesem all wird OK ausgegeben. eben Sie keine weiteren Zeichen aus. chten Sie darauf, dass die darauf folgenden efehle auf den aktuellen raphen ausgeführt werden. Im ehlerfall, z.. wenn beide Städte nicht existieren oder wenn bereits eine Kante zwischen den beiden Städten existiert, wird eine aussagekräftige ehlermeldung ausgegeben. Existieren beide Städte nicht, wird ebenfalls eine ehlermeldung ausgegeben. Im ehlerfall wird keine neue Kante zum raphen hinzugefügt. E. info-efehl ieser efehl serialisiert den aktuellen raphen, wie in bschnitt. beschrieben, und gibt sie aus. abei ist die Reihenfolge der Zeilen nicht relevant. ußerdem darf jede Kante nur einmal in der usgabe vorkommen. Ist der raph leer, wird eine leere Zeile ausgegeben. eben Sie keine weiteren Zeichen aus. E. nodes-efehl ieser efehl gibt alle Nachbarknoten zu einem bestimmten Knoten aus. nodes <Stadt> <Stadt> repräsentiert den Knoten, dessen Nachbarknoten ermittelt werden müssen und ist durch ihren Namen repräsentiert wie in bschnitt beschrieben. usgabeformat alls <Stadt> ein gültiger Knoten ist, werden alle seinen Nachbarknoten jeweils in einer Zeile ausgegeben, d.h. pro Zeile wird genau ein Knoten ausgegeben. ie Reihenfolge der Zeilen ist irrelevant. eben Sie keine weiteren Zeichen aus. Im ehlerfall, z.. wenn der Knoten nicht existiert, wird eine aussagekräftige ehlermeldung ausgegeben. E. vertices-efehl ieser efehl gibt alle Knoten in einem raphen aus. vertices Seite von 8
8 Programmieren Wintersemester 2/.2.2 : usgabeformat lle Knoten im raphen werden jeweils in einer Zeile ausgegeben, d.h. pro Zeile wird genau ein Knoten ausgegeben. ie Reihenfolge der Zeilen ist irrelevant. Ist der graph leer, wird eine leere Zeile ausgegeben. eben Sie keine weiteren Zeichen aus. E.8 quit-efehl ieser efehl beendet das Programm. abei findet keine Konsolenausgabe statt. E.9 eispielinteraktion eachten Sie im olgenden, dass Eingabezeilen mit dem > -Zeichen eingeleitet werden, gefolgt von einem Leerzeichen. iese beiden Zeichen sind ausdrücklich kein estandteil des eingegebenen efehls, sondern dienen nur der Unterscheidung zwischen Ein- und usgabe. eispielinteraktion für den Routen-raphen für die Eingabedatei in bschnitt. > search b;d;route > route b;d;route b a d > route b;d;all b a d b a d b a d b d > nodes b a > quit Seite 8 von 8
Informatik I WS 07/08 Tutorium 24
Info I Tutorium 24 Informatik I WS 07/08 Tutorium 24 3.2.07 astian Molkenthin E-Mail: infotut@sunshine2k.de Web: http://infotut.sunshine2k.de Organisatorisches / Review is zum 2.2 müssen alle Praxisaufgaben
MehrModul N5 - Routing. Informatik erleben. Anwendung: http, smtp. Transport: TCP, UDP. Segment. Vermittlung: IP. Datagramm. Sicherung: Ethernet, PPP
N-Netze Modul - Routing eitrahmen 0 Minuten ielgruppe Sekundarstufe II Inhaltliche Voraussetzung keine, N4 von Vorteil Lehrziel Kennen lernen eines Routing-lgorithmus, sowie der Netzwerkschichten http://www.sxc.hu
MehrInstitut für Programmierung und Reaktive Systeme 25. August 2014. Programmier-Labor. 04. + 05. Übungsblatt. int binarysearch(int[] a, int x),
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 25. August 2014 Programmier-Labor 04. + 05. Übungsblatt Aufgabe 21: a) Schreiben Sie eine Methode
MehrTechnische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen
Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen 186.172 Algorithmen und Datenstrukturen 1 VL 4.0 Übungsblatt 4 für die Übung
MehrVorlesung Informatik 2 Algorithmen und Datenstrukturen. (20 Graphen) T. Lauer
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (20 Graphen) T. Lauer 1 Motivation Wie komme ich am besten von Freiburg nach Ulm? Was ist die kürzeste Rundreise durch eine gegebene Menge von Städten?
MehrAlgorithmen und Datenstrukturen
Prof. r. V. Linnemann Lübeck, den. Oktober 00 Universität zu Lübeck Institut für Informationssysteme lgorithmen und atenstrukturen Sommersemester 00. Klausur Lösungen Hinweis: chten Sie bei Programmieraufgaben
MehrRouting Algorithmen. Begriffe, Definitionen
Begriffe, Definitionen Routing (aus der Informatik) Wegewahl oder Verkehrslenkung bezeichnet in der Telekommunikation das Festlegen von Wegen für Nachrichtenströme bei der Nachrichtenübermittlung über
MehrI.4 Warshall - Algorithmus
I.4 Warshall - lgorithmus er ijkstra - lgorithmus bietet eine relativ schnelle öglichkeit den minimalen Weg zwischen zwei Knoten in einem Graphen zu bestimmen. ei anderer bbruchbedingung erhält man auch
MehrEinführung in (Binäre) Bäume
edeutung und Ziele inführung in (inäre) äume Marc Rennhard http://www.tik.ee.ethz.ch/~rennhard rennhard@tik.ee.ethz.ch äume gehören ganz allgemein zu den wichtigsten in der Informatik auftretenden atenstrukturen,
MehrInformatik 11 Kapitel 2 - Rekursive Datenstrukturen
Fachschaft Informatik Informatik 11 Kapitel 2 - Rekursive Datenstrukturen Michael Steinhuber König-Karlmann-Gymnasium Altötting 15. Januar 2016 Folie 1/77 Inhaltsverzeichnis I 1 Datenstruktur Schlange
MehrGraphen: Einführung. Vorlesung Mathematische Strukturen. Sommersemester 2011
Graphen: Einführung Vorlesung Mathematische Strukturen Zum Ende der Vorlesung beschäftigen wir uns mit Graphen. Graphen sind netzartige Strukturen, bestehend aus Knoten und Kanten. Sommersemester 20 Prof.
MehrHEUTE. Datenstrukturen im Computer. Datenstrukturen. Rekursion. Feedback Evaluation. abstrakte Datenstrukturen
9.2.5 HUT 9.2.5 3 atenstrukturen im omputer atenstrukturen ie beiden fundamentalen atenstrukturen in der Praxis sind rray und Liste Rekursion Feedback valuation rray Zugriff: schnell Umordnung: langsam
MehrWORKFLOW DESIGNDOKUMENT
Architectural Design WORKFLOW DESIGNDOKUMENT Softwareentwicklung Praktikum, Übungsbeispiel 2 Gruppe 86 Andreas Hechenblaickner [0430217] Daniela Kejzar [0310129] Andreas Maller [0431289] Gruppe 86 Seite
MehrDas Briefträgerproblem
Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................
MehrKurs 1613 Einführung in die imperative Programmierung
Aufgabe 1 Gegeben sei die Prozedur BubbleSort: procedure BubbleSort(var iofeld:tfeld); { var hilf:integer; i:tindex; j:tindex; vertauscht:boolean; i:=1; repeat vertauscht := false; for j := 1 to N - i
MehrGraphen: Datenstrukturen und Algorithmen
Graphen: Datenstrukturen und Algorithmen Ein Graph G = (V, E) wird durch die Knotenmenge V und die Kantenmenge E repräsentiert. G ist ungerichtet, wenn wir keinen Start- und Zielpunkt der Kanten auszeichnen.
Mehr3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel
3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel EADS 3.1 Konstruktion von minimalen Spannbäumen 16/36
MehrUninformierte Suche in Java Informierte Suchverfahren
Uninformierte Suche in Java Informierte Suchverfahren Stephan Schwiebert WS 2009/2010 Sprachliche Informationsverarbeitung Institut für Linguistik Universität zu Köln Suchprobleme bestehen aus Zuständen
MehrAus Knoten und Kanten, die Bezeichnungen haben können. Ein Graph, bei dem die Kanten Richtungen haben.
ormale Methoden der Informatik WS 2/2 Lehrstuhl für atenbanken und Künstliche Intelligenz ProfrrJRadermacher H Ünver T Rehfeld J ollinger 3 ufgabenblatt esprechung in den Tutorien vom 72 (ab Übungstermin)
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrÜ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
Mehr3. Musterlösung. Problem 1: Boruvka MST
Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner. Musterlösung Problem : Boruvka MST pt (a) Beweis durch Widerspruch. Sei T MST von G, e die lokal minimale Kante eines
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen Der Tragödie IV. Theyl Peter F. Stadler & Konstantin Klemm Bioinformatics Group, Dept. of Computer Science & Interdisciplinary Center for Bioinformatics, University
MehrSchwierige Probleme in der Informatik Informationen für die Lehrperson
Schwierige Probleme in der Informatik Informationen für die Lehrperson Thema, Adressaten,... Das Thema dieses Moduls sind NP-vollständige Probleme, also schwierige Probleme in der Informatik. GraphBench
MehrEine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder
Programmieren in PASCAL Bäume 1 1. Baumstrukturen Eine Baumstruktur sei folgendermaßen definiert. Eine Baumstruktur mit Grundtyp Element ist entweder 1. die leere Struktur oder 2. ein Knoten vom Typ Element
MehrBreiten- und Tiefensuche in Graphen
Breiten- und Tiefensuche in Graphen Inhalt Theorie. Graphen. Die Breitensuche in der Theorie am Beispiel eines ungerichteten Graphen. Die Tiefensuche in der Theorie am Beispiel eines gerichteten Graphen
MehrProgrammcode muss in englischer Sprache verfasst sein. Achten Sie auf fehlerfrei kompilierenden Programmcode 1
Programmieren Sommersemester 05 Software-Design und Qualität (SDQ) https://sdqweb.ipd.kit.edu/wiki/programmieren Prof. Dr. Ralf H. Reussner Philipp Merkle Kiana Rostami Übungsblatt Ausgabe: 04.05.05 3:00
MehrPIWIN 1 Übung Blatt 5
Fakultät für Informatik Wintersemester 2008 André Gronemeier, LS 2, OH 14 Raum 307, andre.gronemeier@cs.uni-dortmund.de PIWIN 1 Übung Blatt 5 Ausgabedatum: 19.12.2008 Übungen: 12.1.2009-22.1.2009 Abgabe:
MehrEs ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.
Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe
MehrVerwendung der Visage Java-API
Verwendung der Visage Java-API Whitepaper Andraes Fest Stand: 2. Mai 2008 bezieht sich auf Cinderella 2.1 Build 961 1 Vorbemerkungen Die interaktive Geometrie-Software Cinderella bietet verschiedene Programmierschnittstellen.
Mehr1 topologisches Sortieren
Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung
Mehr4 Greedy-Algorithmen (gierige Algorithmen)
Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine
MehrPraktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben
Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand, Marcel Preuß, Iman Kamehkhosh, Marc Bury, Diana Howey Übungsblatt
MehrAllgemeine Hinweise. Abgabemodalitäten. Checkstyle
Programmieren Wintersemester 2014/15 Software-Design und Qualität (SDQ) https://sdqweb.ipd.kit.edu/wiki/programmieren Prof. Dr. Ralf H. Reussner Kiana Rostami Philipp Merkle Abschlussaufgabe 1 Ausgabe:
Mehr10 Dynamische Programmierung
137 Dynamische Programmierung Das Prinzip der Dynamischen Programmierung wird häufig bei Fragestellungen auf Worten angewendet..1 Längste gemeinsame Teilfolge Wir betrachten Worte der rt w = a 1 a 2 a
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2006 3. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Algorithmen für Graphen Fragestellungen: Suche
MehrProgrammierprojekt Aufgabe 1
v01 10.05.2009 Die Formalitäten vorab (WICHTIG!!!): Technische Universität Darmstadt Fachbereich Informatik Prof. Dr. Johannes Fürnkranz Allgemeine Informatik 2 im SS 2009 Programmierprojekt Aufgabe 1
MehrEin Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist.
Graphen Definition: Ein Graph ist ein Paar (V,E), wobei V eine Menge von Knoten und E eine Menge von Kanten (v,w) mit v,w in V ist. Begriffe: Gerichteter Graph: Alle Kanten haben eine Richtung vom Anfangsknoten
MehrGrundlagen der Künstlichen Intelligenz
Grundlagen der Künstlichen Intelligenz 22. Constraint-Satisfaction-Probleme: Kantenkonsistenz Malte Helmert Universität Basel 14. April 2014 Constraint-Satisfaction-Probleme: Überblick Kapitelüberblick
MehrObjektorientierte Programmierung. Kapitel 3: Syntaxdiagramme und Grammatikregeln
Stefan Brass: OOP (Java), 3. Syntaxdiagramme und Grammatikregeln 1/32 Objektorientierte Programmierung Kapitel 3: Syntaxdiagramme und Grammatikregeln Stefan Brass Martin-Luther-Universität Halle-Wittenberg
MehrEntwurf von Algorithmen - Kontrollstrukturen
Entwurf von Algorithmen - Kontrollstrukturen Eine wichtige Phase in der Entwicklung von Computerprogrammen ist der Entwurf von Algorithmen. Dieser Arbeitsschritt vor dem Schreiben des Programmes in einer
MehrProbeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
MehrGrundlagen Programmierung
13. Aufgabe (13 Punkte) Schreiben Sie eine neue Klasse Zahlenanalyse, mit der Integer-Objekte genauer betrachtet werden können. Bei den zu entwickelnden Methoden kann es immer sinnvoll sein, sich den Ablauf
MehrINHALTSVERZEICHNIS. 2D-DXF / DWG Import Allgemeines
Allgemeines INHALTSVERZEICHNIS 1 2D-DXF / DWG Import...3 1.1 Allgemeines...3 1.2 Starten des Imports...3 1.3 Der Dialog 2D DXF / DWG Datei importieren...3 1.4 Importiertes Symbol platzieren...4 1.5 Eigenschaften
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 13. Bäume. Bäume
1 Kapitel 13 Ziele 2 Den Begriff des Baums in der Informatik kennenlernen als verkettete Datenstruktur repräsentieren können Rekursive Funktionen auf n verstehen und schreiben können Verschiedene Möglichkeiten
MehrKonzepte der Informatik
Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens
MehrAlgorithmen und Datenstrukturen 2
Algorithmen und Datenstrukturen 2 Sommersemester 2007 4. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de Traversierung Durchlaufen eines Graphen, bei
MehrDer linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v)
Ein Baum T mit Knotengraden 2, dessen Knoten Schlüssel aus einer total geordneten Menge speichern, ist ein binärer Suchbaum (BST), wenn für jeden inneren Knoten v von T die Suchbaumeigenschaft gilt: Der
Mehr5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)
5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) mit V = {1,...,n} und E {(v, w) 1 apple v, w apple n, v 6= w}. c : E!
MehrKürzeste Wege in Graphen. Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik
Kürzeste Wege in Graphen Maurice Duvigneau Otto-von-Guericke Universität Fakultät für Informatik Gliederung Einleitung Definitionen Algorithmus von Dijkstra Bellmann-Ford Algorithmus Floyd-Warshall Algorithmus
MehrProjekt AGB-10 Fremdprojektanalyse
Projekt AGB-10 Fremdprojektanalyse 17. Mai 2010 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur und Entwurfsprinzipien für das Gesamtsystem 3 3.1 Die Prefuse Library...............................
MehrMaximaler Fluß und minimaler Schnitt. Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de
Maximaler Fluß und minimaler Schnitt Von Sebastian Thurm sebastian.thurm@student.uni-magedburg.de Maximaler Fluß und minimaler Schnitt Wasist das? Maximaler Fluss Minimaler Schnitt Warumtut man das? Logistische
MehrTutoren Simon Andermatt Lukas Beck. Alexis Peter Thomas Ritter
UNIVERSITÄT BASEL Dozent Prof. Dr. Thomas Vetter Departement Informatik Assistenten Brian Amberg Andreas Forster Tutoren Simon Andermatt Lukas Beck Webseite http://informatik.unibas.ch/lehre/hs10/cs101/index.html
Mehr16. All Pairs Shortest Path (ASPS)
. All Pairs Shortest Path (ASPS) All Pairs Shortest Path (APSP): Eingabe: Gewichteter Graph G=(V,E) Ausgabe: Für jedes Paar von Knoten u,v V die Distanz von u nach v sowie einen kürzesten Weg a b c d e
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form
MehrEinführung in Heuristische Suche
Einführung in Heuristische Suche Beispiele 2 Überblick Intelligente Suche Rundenbasierte Spiele 3 Grundlagen Es muss ein Rätsel / Puzzle / Problem gelöst werden Wie kann ein Computer diese Aufgabe lösen?
MehrName: Seite 2. Beantworten Sie die Fragen in den Aufgaben 1 und 2 mit einer kurzen, prägnanten Antwort.
Name: Seite 2 Beantworten Sie die Fragen in den Aufgaben 1 und 2 mit einer kurzen, prägnanten Antwort. Aufgabe 1 (8 Punkte) 1. Wie viele negative Zahlen (ohne 0) lassen sich im 4-Bit-Zweierkomplement darstellen?
MehrPerzentile mit Hadoop ermitteln
Perzentile mit Hadoop ermitteln Ausgangspunkt Ziel dieses Projektes war, einen Hadoop Job zu entwickeln, der mit Hilfe gegebener Parameter Simulationen durchführt und aus den Ergebnissen die Perzentile
MehrCustomization (Zuschneiden)
Customization (Zuschneiden) Anpassen der (Graph)Datenstruktur an die Anwendung. I Ziel: schnell, kompakt. I benutze Entwurfsprinzip: make the common case fast I Listen vermeiden Mögliches Problem: Software-Engineering-Alptraum
MehrSchülerlabor Informatik. Info Sphere. Die Suche nach dem KÜRZESTEN WEG
Schülerlabor Informatik Info Sphere ie Suche nach dem KÜRZESTEN WEG 9 Januar rtur Nowak Manuel Froitzheim Inhaltsverzeichnis Modulbeschreibung 7 Themenbereich Jahrgangsstufe/Kursart Lehrplanbezug Einbindung
MehrAlgorithmentheorie. 13 - Maximale Flüsse
Algorithmentheorie 3 - Maximale Flüsse Prof. Dr. S. Albers Prof. Dr. Th. Ottmann . Maximale Flüsse in Netzwerken 5 3 4 7 s 0 5 9 5 9 4 3 4 5 0 3 5 5 t 8 8 Netzwerke und Flüsse N = (V,E,c) gerichtetes Netzwerk
MehrExport von Schülerdaten für andere Programme
23.11.2016 10:43 1/5 Export von Schülerdaten für andere Programme Export von Schülerdaten für andere Programme Datenübertragung Schulverwaltung > Excel Über die Zwischenablage Die Datenübertragung von
MehrOgre Einführung Teil 1
Inhalt -Einleitung -Installieren und Einrichten von Ogre -Die erste Anwendung Ogre Einführung Teil 1 Einleitung Eine 3D Engine ist eine sehr komplexe Software und besteht aus mehreren tausend Zeilen Programmcode.
MehrProgrammierung für Mathematik (HS13)
software evolution & architecture lab Programmierung für Mathematik (HS13) Übung 5 1 Aufgabe: Eclipse IDE 1.1 Lernziele 1. Die Entwicklungsumgebung Eclipse einrichten. 2. Eclipse kennen lernen und mit
MehrWissensbasierte Systeme
WBS3 Slide 1 Wissensbasierte Systeme Sebastian Iwanowski FH Wedel Kap. 3: Algorithmische Grundlagen der KI WBS3 Slide 2 Suchstrategien Warum sind Suchstrategien so wichtig in Wissensbasierten Systemen?
MehrUniversität Augsburg, Institut für Informatik Sommersemester 2005 Prof. Dr. Werner Kießling 15. Oktober 2005 Dr. Alfons Huhn, Timotheus Preisinger
Universität Augsburg, Institut für Informatik Sommersemester 2005 Prof. Dr. Werner Kießling 15. Oktober 2005 Dr. Alfons Huhn, Timotheus Preisinger Informatik II Hinweise: Die Bearbeitungszeit beträgt 90
Mehr1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie
Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. äume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/5, olie 1 2014 Prof. Steffen Lange - HDa/bI
MehrWie findet das Navi den Weg?
0.05.0 Verwandte Fragestellungen Problemstellungen aus der Praxis Prof. Dr. Paul Rawiel Gliederung des Vortrags Speicherung von Kartendaten zur Navigation Kriterien für die Navigation Finden des kürzesten
MehrAm Dienstag, den 16. Dezember, ist Eulenfest. 1/48
Am Dienstag, den 16. Dezember, ist Eulenfest. 1/48 Grundbegriffe der Informatik Einheit 12: Erste Algorithmen in Graphen Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009
Mehr5 Grundlagen der Java-Syntax
5 Grundlagen der Java-Syntax Es sollen nun einige Grundregeln besprechen, die in jeder Java-Programmdatei berücksichtigt werden müssen. 5.1 Grundsätzliches zur Syntax von Java Programmen Zunächst sollten
MehrÜbungsblatt 2. Abgabe: Freitag, 7. November 2014, 18:00 Uhr
Informatik I: Einführung in die Programmierung Prof. Dr. Bernhard Nebel Dr. Christian Becker-Asano, Dr. Stefan Wölfl Wintersemester 2014/2015 Universität Freiburg Institut für Informatik Übungsblatt 2
MehrDatenstrukturen. Mariano Zelke. Sommersemester 2012
Datenstrukturen Mariano Zelke Sommersemester 2012 Prioritätswarteschlangen Mariano Zelke Datenstrukturen 2/28 Der abstrakte Datentyp Prioritätswarteschlange : Füge Elemente (mit Prioritäten) ein und entferne
MehrAuswahl von Klauseln und Atomen in Prolog
5.6 Prolog... ist die bekannteste Implementierung einer LP-Sprache; wurde Anfang der 1970er von Alain Colmerauer (Marseille) und Robert Kowalski (Edinburgh) entwickelt. konkretisiert den vorgestellten
MehrRandomisierte Algorithmen
Randomisierte Algorithmen Randomisierte Algorithmen 7. Random Walks Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2016/2017 1 / 43 Überblick Überblick Ein randomisierter
MehrShell-Programmierung
Shell-Programmierung Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2009 Shell-Programmierung 1/34 2009-04-27 Inhalt Einleitung
MehrReihungen. Martin Wirsing. in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03
Reihungen Martin Wirsing in Zusammenarbeit mit Matthias Hölzl und Nora Koch 11/03 2 Ziele Die Datenstruktur der Reihungen verstehen: mathematisch und im Speicher Grundlegende Algorithmen auf Reihungen
MehrTutoren Jan Ebbe Pat Mächler Valentino Rugolo Sascha Scherrer. Grundlagen der Programmierung (CS101) - Blatt 8 Theorie [4 Punkte] - Praxis [12 Punkte]
UNIVERSITÄT BASEL Dozent Prof. Dr. Thomas Vetter Departement Informatik Bernoullistrasse 16 CH 4056 Basel Assistenten Bernhard Egger Andreas Forster Tutoren Jan Ebbe Pat Mächler Valentino Rugolo Sascha
MehrÜbungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben.
Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Daher ist y = x + 5.6; keine Gleichung, sondern die Anweisung den Wert
MehrDynamische Programmierung. Problemlösungsstrategie der Informatik
als Problemlösungsstrategie der Informatik und ihre Anwedung in der Diskreten Mathematik und Graphentheorie Fabian Cordt Enisa Metovic Wissenschaftliche Arbeiten und Präsentationen, WS 2010/2011 Gliederung
Mehr3 Lineare elektrische Gleichstromkreise
3. Eigenschaften elektrischer Stromkreise 7 3 Lineare elektrische Gleichstromkreise 3. Eigenschaften elektrischer Stromkreise Lineare elektrische Stromkreise bestehen aus auelementen mit einer linearen
MehrAufgabenblatt Nr. 5 Generizität und TicTacToe
Aufgabenblatt Nr. 5 Generizität und TicTacToe 1 Generische Sortier-Methode 1.1 Aufgabe: Entwickeln einer generischen Sortiermethode für Objekte mit der Schnittstelle Comparable Ihnen ist aus der Vorlesung
MehrAlgorithmen und Datenstrukturen Graphen - Einführung
Algorithmen und Datenstrukturen Graphen - Einführung Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Überblick Definition / Eigenschaften Anwendungen Repräsentation
Mehr13. 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),
MehrLösungsvorschläge Blatt Z1
Theoretische Informatik Departement Informatik Prof. Dr. Juraj Hromkovič http://www.ita.inf.ethz.ch/theoinf16 Lösungsvorschläge Blatt Z1 Zürich, 2. Dezember 2016 Lösung zu Aufgabe Z1 Wir zeigen L qi /
MehrModerne Betriebssysteme
ndrew S. Tanenbaum Moderne etriebssysteme 2. überarbeitete uflage übersetzt von Prof. Dr. Uwe aumgarten Technische Universität München ein Imprint der Pearson Education Deutschland GmbH KPITEL 3 Deadlocks
MehrBranch-and-Bound. Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir
Effiziente Algorithmen Lösen NP-vollständiger Probleme 289 Branch-and-Bound Wir betrachten allgemein Probleme, deren Suchraum durch Bäume dargestellt werden kann. Innerhalb des Suchraums suchen wir 1.
MehrEffiziente Algorithmen I
H 10. Präsenzaufgabenblatt, Wintersemester 2015/16 Übungstunde am 18.01.2015 Aufgabe Q Ein Reiseveranstalter besitzt ein Flugzeug, das maximal p Personen aufnehmen kann. Der Veranstalter bietet einen Flug
Mehr2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE
2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2.1 Die Einrichtung der Benutzeroberfläche Das Einrichten einer Android-Eclipse-Entwicklungsumgebung zur Android-Entwicklung ist grundsätzlich nicht
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen
MehrThomas Behr. 17. November 2011
in in Fakultät für Mathematik und Informatik Datenbanksysteme für neue Anwendungen FernUniversität in Hagen 17. November 2011 c 2011 FernUniversität in Hagen Outline in 1 2 3 4 5 6 - Was ist das? in über
MehrBinary Decision Diagrams (BDDs) 1
Handout 22.11.2011 Binary Decision Diagrams (BDDs) 1 Übersicht Es gibt viele verschiedene Möglichkeiten um Boole sche Funktionen zu repräsentieren (Boole sche Formeln, Minterme, Wahrheitstabellen, ). Manche
MehrKombinatorische Optimierung
Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesungen 5 und 6 Programm
MehrAlgorithmische Mathematik
Algorithmische Mathematik Wintersemester 2013 Prof. Dr. Marc Alexander Schweitzer und Dr. Einar Smith Patrick Diehl und Daniel Wissel Übungsblatt 6. Abgabe am 02.12.2013. Aufgabe 1. (Netzwerke und Definitionen)
Mehr4. Übung - Betriebssysteme
1. ufgabe: Systemstart 4. Übung - etriebssysteme Informatik I für Verkehrsingenieure ufgaben inkl. eispiellösungen a Welche ufgabe hat das IOS und was passiert beim Starten eines Systems? b Welche ufgaben
MehrKlausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)
Berlin, 21. Februar 2013 Name:... Matr.-Nr.:... Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13) 1 2 3 4 5 6 7 8 9 Σ Bearbeitungszeit: 90 min. max. Punktezahl:
MehrKapitel 6: Graphalgorithmen Gliederung
Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen
MehrAutor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH
Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich
Mehr183.579, SS2012 Übungsgruppen: Do., 14.6. Mi., 20.6.2012
VU Technische Grundlagen der Informatik Übung 8: Systemsoftware und Netzwerke 183.579, SS2012 Übungsgruppen: o., 14.6. Mi., 20.6.2012 ufgabe 1: Virtual Memory Zeichnen Sie ein System das Paging zur Speicherverwaltung
MehrWiederholung zu Flüssen
Universität Konstanz Methoden der Netzwerkanalyse Fachbereich Informatik & Informationswissenschaft SS 2008 Prof. Dr. Ulrik Brandes / Melanie Badent Wiederholung zu Flüssen Wir untersuchen Flüsse in Netzwerken:
Mehr