Inhalt. Kognitive Systeme 1. Beispiel: Routenplanung. Zustände. Definition. Example. Grundlagen und Beispiele zu Suche. Dr.-Ing.

Größe: px
Ab Seite anzeigen:

Download "Inhalt. Kognitive Systeme 1. Beispiel: Routenplanung. Zustände. Definition. Example. Grundlagen und Beispiele zu Suche. Dr.-Ing."

Transkript

1 Kognitive Systeme 1 Grundlagen und Beispiele zu Suche Dr.-Ing. Bernd Ludwig Lehrstuhl für Künstliche Intelligenz Friedrich-Alexander-Universität Erlangen-Nürnberg Dr.-Ing. Bernd Ludwig (Lehrstuhl KI) Kognitive Systeme 1 Kapitel 3 1 / 27 Zustände Definition Ein Zustand ist die Menge der zu einem festen Zeitpunkt geltenden Eigenschaften eines modellierten Systems oder einer Umgebung. Ein Zustand kann symbolisch (d.h. durch eine Menge von Formeln) oder numerisch (d.h. durch einen Merkmalsvektor repräsentiert sein. Ein Zustand kann Eigenschaften haben, die im Modell des Systems oder der Umgebung nicht enthalten sind (hidden context). Dr.-Ing. Bernd Ludwig (Lehrstuhl KI) Kognitive Systeme 1 Kapitel 3 2 / 27 Beispiel: Routenplanung Zustand: wo, d.h. an welchem Ort befindet sich das Fahrzeug? Example Zustand s 1 : Das Fahrzeug befindet sich bei Punkt A. Aktion: Fahre zu Punkt B. Zustände stehen untereinander in einer Nachfolgerelation: Zustand s 2 folgt auf s 1, wenn das KI-System eine Aktion a ausführen kann, die bewirkt, dass die dann geltenden Eigenschaften des modellierten Systems durch s 2 beschrieben sind. Dr.-Ing. Bernd Ludwig (Lehrstuhl KI) Kognitive Systeme 1 Kapitel 3 3 / 27 Dr.-Ing. Bernd Ludwig (Lehrstuhl KI) Kognitive Systeme 1 Kapitel 3 4 / 27

2 Beispiel: Routenplanung Formalisierung des Zustandsübergangs Example Zustand s 2 : Das Fahrzeug befindet sich bei Punkt B. Graphische Darstellung A fahren B Formale Darstellung Definition (Zustandsüberführung) Ein eindeutiger Zustand s1 wird durch genau einen Knoten dargestellt. Eine Aktion, die im Zustand s1 ausgeführt wird und in den Zustand s 2 führt, wird durch eine Kante (s 1, s 2 ) dargestellt. Definition (Zustandsraum) Ein Zustandsraum, d.h. die Menge aller möglichen Zustände ist durch einen gerichteten Graphen darstellbar. Eine Folge von Aktionen wird durch einen Pfad repräsentiert. Dr.-Ing. Bernd Ludwig (Lehrstuhl KI) Kognitive Systeme 1 Kapitel 3 5 / 27 Zustandsgraph Ein Zustandsgraph (state space graph) ist eine Formalisierung eines Zustandsraums (state space), also der Menge aller möglichen Zustände und Zustandsübergänge. Zustandsgraphen sind gerichtet: die Quelle einer Kante gibt an, in welchem Zustand eine Aktion ausgeführt wird. Die Senke gibt an, in welchen Zustand die Aktion führt. branching factor b eines Knoten (Zustands) n: b ist die Zahl der Nachfolger, die n im Graphen hat. Jeder unterschiedliche Nachfolger beginnt nichtdeterministisch einen neuen Pfad, also eine neue Aktionsfolge, von n aus. Gerichtete Bäume sind spezielle Zustandsgraphen, in denen jeder Zustand von genau einem Vorgängerzustand über genau eine Aktion erreicht werden kann. Dr.-Ing. Bernd Ludwig (Lehrstuhl KI) Kognitive Systeme 1 Kapitel 3 6 / 27 Suche Definition (Suchproblem) Unter dem Suchproblem versteht man die Aufgabe, mittels eines geeigneten Algorithmus einen Pfad im Zustandsgraphen zu finden, der vom aktuellen Zustand in einen ausgezeichneten Zustand, den Zielzustand (die Lösung) führt. Warum ist die Suche schwierig? Komplexität: Der Suchaufwand hängt wesentlich vom branching factor in jedem Knoten ab. Nichtdeterminismus: Wenn b > 1, welcher Nachfolger führt (am besten) zu einer Lösung? Optimalität: Wenn es mehrere Pfade zu einer Lösung gibt, welcher ist optimal (hinsichtlich des Ergebnisses und des Berechnungsaufwands)? Dr.-Ing. Bernd Ludwig (Lehrstuhl KI) Kognitive Systeme 1 Kapitel 3 7 / 27 Dr.-Ing. Bernd Ludwig (Lehrstuhl KI) Kognitive Systeme 1 Kapitel 3 8 / 27

3 branching factor Ein vollständiger Zustandsraum Dr.-Ing. Bernd Ludwig (Lehrstuhl KI) Kognitive Systeme 1 Kapitel 3 9 / 27 Informationsqualität Vollständigkeit des Zustandsgraphen: sind alle möglichen Zustände bekannt und erreichbar oder fehlt der Suche Information? Dr.-Ing. Bernd Ludwig (Lehrstuhl KI) Kognitive Systeme 1 Kapitel 3 10 / 27 Informationsqualität Verlässlichkeit: ist die Information im Graphen korrekt oder ist die Information unsicher? Sensorwerte schwanken innerhalb ihrer Messgenauigkeit abhängig von den Messbedingungen Dr.-Ing. Bernd Ludwig (Lehrstuhl KI) Kognitive Systeme 1 Kapitel 3 11 / 27 Dr.-Ing. Bernd Ludwig (Lehrstuhl KI) Kognitive Systeme 1 Kapitel 3 12 / 27

4 Expansion von Suchgraphen Definition (Expansion) Expansion eines Knoten in einem Suchgraphen ist der Vorgang, daß alle Nachfolger des Knoten gesucht und in einer bestimmten Reihenfolge abgearbeitet werden. Implizite Darstellung von Suchräumen Explizit gegebener Suchraum: alle möglichen Knoten und Kanten sind im Speicher des Rechners vorhanden. Während der Suchraum der Autobahnverbindungen explizit gegeben ist, ist der Suchraum aller Busverbindungen an einem Tag in einer Großstadt für viele Hauptspeicher zu groß. zwei Zustände eines Suchraums: So ein Graph wird implizit repräsentiert. D.h.: wenige Knoten sind explizit vorhanden, aber alle anderen können durch Anwendung von Regeln generiert werden. Dr.-Ing. Bernd Ludwig (Lehrstuhl KI) Kognitive Systeme 1 Kapitel 3 13 / 27 Dr.-Ing. Bernd Ludwig (Lehrstuhl KI) Kognitive Systeme 1 Kapitel 3 14 / 27 Die Klasse ALGOGraph Definition (ALGOGraph) package graph; public abstract class ALGOGraph { protected Hashtable<Integer,ALGOPlacemarkNode> nodes; protected Hashtable<Integer,LinkedList<ALGOEdge>> edges; Ein Graph wird dargestellt als ein Objekt mit einer Tabelle, die alle Knoten speichert (ID des Knoten ist der key). einer Tabelle, die die Liste aller ausgehenden Kanten eines Knoten speichert (ID der Quelle ist der key). Dr.-Ing. Bernd Ludwig (Lehrstuhl KI) Kognitive Systeme 1 Kapitel 3 15 / 27 Dr.-Ing. Bernd Ludwig (Lehrstuhl KI) Kognitive Systeme 1 Kapitel 3 16 / 27

5 Die Klasse ALGOPlacemarkNode Definition (ALGOPlacemarkNode) package graph; public class ALGOPlacemarkNode extends ALGONode { protected int nodeid; protected double nodecost; protected Placemark mydata; Ein Knoten hat eine eindeutige ID. hat eine Bewertung (Knoten), wenn er tatsächlich aktueller Zustand wird (auf einem Lösungspfad), anwendungsspezifische Daten (hier Placemark zur Speicherung von Inoformation über eine GPS-Position (siehe später). Die Klasse ALGOEdge Definition (ALGOEdge) package graph; public class ALGOEdge { protected double costs; protected int sourceid, sinkid; Eine Kante hat eine Quelle und eine Senke (jeweils referenziert über ihre ID) und Kosten, wenn die durch die Kante repräsentierte Aktion ausgeführt wird, während das System sich im Zustand befindet, der der Senke entspricht. Dr.-Ing. Bernd Ludwig (Lehrstuhl KI) Kognitive Systeme 1 Kapitel 3 17 / 27 Dr.-Ing. Bernd Ludwig (Lehrstuhl KI) Kognitive Systeme 1 Kapitel 3 18 / 27 Java-Library für komplexe Applikationen Sun WebSite mit ausführlichen Informationen Swing Application Framework API (JSR-296) Dr.-Ing. Bernd Ludwig (Lehrstuhl KI) Kognitive Systeme 1 Kapitel 3 19 / 27 Dr.-Ing. Bernd Ludwig (Lehrstuhl KI) Kognitive Systeme 1 Kapitel 3 20 / 27

6 Code-Beispiel Example (MapApp) package mapapp; import org.jdesktop.application.application; public class MapApp extends SingleFrameApplication protected void startup() { show(new MapView(this)); public static MapApp getapplication() { return Application.getInstance(MapApp.class); public static void main(string[] args) { launch(mapapp.class, args); Code-Beispiel Example (MapView) public class MapView extends FrameView { public MapView(SingleFrameApplication app) { super(app); initcomponents(); ResourceMap resourcemap = getresourcemap(); int messagetimeout = public void gochicago() public void addwaypoint() { Dr.-Ing. Bernd Ludwig (Lehrstuhl KI) Kognitive Systeme 1 Kapitel 3 21 / 27 Dr.-Ing. Bernd Ludwig (Lehrstuhl KI) Kognitive Systeme 1 Kapitel 3 22 / 27 org.jdesktop.swingx.jxmapkit Dr.-Ing. Bernd Ludwig (Lehrstuhl KI) Kognitive Systeme 1 Kapitel 3 23 / 27 Dr.-Ing. Bernd Ludwig (Lehrstuhl KI) Kognitive Systeme 1 Kapitel 3 24 / 27

7 Grundkonzept JXMapKit bietet die Funktionalität, Karten von OpenStreetMaps in einem speziellen JPanel-Objekt (JXMapViewer) anzuzeigen. Mit einem WaypointPainter können eigene Layer in die Karte gezeichnet werden. Example (HighWayRoutePainter) public class HighWayRoutePainter extends WaypointPainter { protected void dopaint(java.awt.graphics2d g, JXMapViewer map, int width, int height) { Waypoint w1, w2; Point2D p1, p2; Iterator<Waypoint> it = getwaypoints().iterator();... while (it.hasnext()) { w2 = it.next(); p2 = map.convertgeopositiontopoint(w2.getposition()); Line2D l = new Line2D.Double(p1, p2); g.draw(l); w1 = w2; p1 = p2; Dr.-Ing. Bernd Ludwig (Lehrstuhl KI) Kognitive Systeme 1 Kapitel 3 25 / 27 Dr.-Ing. Bernd Ludwig (Lehrstuhl KI) Kognitive Systeme 1 Kapitel 3 26 / 27 Eine Java-Library für KML und Google Maps Google stellt eine API für die Karten zur Verfügung. Zur Nutzung muss man sich einen key auf der Seite Google Maps API besorgen. Die Abfrage von Geokoordinaten für Adressen ist dann sehr einfach: Example URL mapurl = new URL(" q=addr&output=xml&key=xxx"); InputStreamReader data = mapurl.openstream(); Kml kmlroot = new KMLParser().parse(data))); if (kmlroot.getplacemark()!= null) { Point p = kmlroot.getplacemark().getgeometry(); System.out.println(p.getCoordinates()); else System.out.println("keine GPS-Koordinaten\n"); Dr.-Ing. Bernd Ludwig (Lehrstuhl KI) Kognitive Systeme 1 Kapitel 3 27 / 27

Kognitive Systeme 1. Grundlagen und Beispiele zu Suche. Dr.-Ing. Bernd Ludwig

Kognitive Systeme 1. Grundlagen und Beispiele zu Suche. Dr.-Ing. Bernd Ludwig Kognitive Systeme 1 Grundlagen und Beispiele zu Suche Dr.-Ing. Bernd Ludwig Lehrstuhl für Künstliche Intelligenz Friedrich-Alexander-Universität Erlangen-Nürnberg 29.10.2009 Dr.-Ing. Bernd Ludwig (Lehrstuhl

Mehr

Kognitive Systeme 1. Grundlagen und Beispiele zu Suche. Dr.-Ing. Bernd Ludwig

Kognitive Systeme 1. Grundlagen und Beispiele zu Suche. Dr.-Ing. Bernd Ludwig Kognitive Systeme 1 Grundlagen und Beispiele zu Suche Dr.-Ing. Bernd Ludwig Lehrstuhl für Künstliche Intelligenz Friedrich-Alexander-Universität Erlangen-Nürnberg 29.10.2009 Dr.-Ing. Bernd Ludwig (Lehrstuhl

Mehr

Kognitive Systeme 1. Uninformierte Suche. Dr.-Ing. Bernd Ludwig

Kognitive Systeme 1. Uninformierte Suche. Dr.-Ing. Bernd Ludwig Kognitive Systeme 1 Uninformierte Suche Dr.-Ing. Bernd Ludwig Lehrstuhl für Künstliche Intelligenz Friedrich-Alexander-Universität Erlangen-Nürnberg 04.11.2009 Dr.-Ing. Bernd Ludwig (Lehrstuhl KI) Kognitive

Mehr

Inhalt. Kognitive Systeme 1. Expansion eines impliziten Suchraums Netz aller möglichen Schritte. Impliziter Suchraum. Uninformierte Suche

Inhalt. Kognitive Systeme 1. Expansion eines impliziten Suchraums Netz aller möglichen Schritte. Impliziter Suchraum. Uninformierte Suche Inhalt Uninformierte Suche Dr.-Ing. Bernd Ludwig Lehrstuhl für Künstliche Intelligenz Friedrich-Alexander-Universität Erlangen-Nürnberg 04.11.2009 1 Implizite Suchgraphen 2 Tiefensuche 3 Breitensuche 4

Mehr

Kognitive Systeme 1. Heuristische Suche. Dr.-Ing. Bernd Ludwig. Lehrstuhl für Künstliche Intelligenz Friedrich-Alexander-Universität Erlangen-Nürnberg

Kognitive Systeme 1. Heuristische Suche. Dr.-Ing. Bernd Ludwig. Lehrstuhl für Künstliche Intelligenz Friedrich-Alexander-Universität Erlangen-Nürnberg Kognitive Systeme 1 Heuristische Suche Dr.-Ing. Bernd Ludwig Lehrstuhl für Künstliche Intelligenz Friedrich-Alexander-Universität Erlangen-Nürnberg 12.11.2009 Dr.-Ing. Bernd Ludwig (Lehrstuhl KI) Kognitive

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

! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete. II.4.2 Abstrakte Klassen und Interfaces - 1 -

! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete. II.4.2 Abstrakte Klassen und Interfaces - 1 - ! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete II.4.2 Abstrakte Klassen und Interfaces - 1 - Ähnliche Programmteile public class Bruchelement { Bruch wert;

Mehr

Wintersemester 2004/ Januar Aus der Vorlesung sind Datenstrukturen zur Repräsentation von Wäldern disjunkter Mengen bekannt.

Wintersemester 2004/ Januar Aus der Vorlesung sind Datenstrukturen zur Repräsentation von Wäldern disjunkter Mengen bekannt. Lehrstuhl für Praktische Informatik III Norman May B6, 29, Raum C0.05 68131 Mannheim Telefon: (0621) 181 2517 Email: norman@pi3.informatik.uni-mannheim.de Matthias Brantner B6, 29, Raum C0.05 68131 Mannheim

Mehr

II.4.2 Abstrakte Klassen und Interfaces - 1 -

II.4.2 Abstrakte Klassen und Interfaces - 1 - 1. Unterklassen und Vererbung 2. Abstrakte Klassen und Interfaces 3. Modularität und Pakete 4. Ausnahmen (Exceptions) 5. Generische Datentypen 6. Collections II.4.2 Abstrakte Klassen und Interfaces - 1

Mehr

EINFÜHRUNG IN DIE PROGRAMMIERUNG

EINFÜHRUNG IN DIE PROGRAMMIERUNG EINFÜHRUNG IN DIE PROGRAMMIERUNG OBJEKTORIENTIERTES PROGRAMMIEREN Tobias Witt 25.03.2014 10:30-12:00 Täglich Übungen zur Vertiefung Laptop hier nicht erforderlich Aber in den Übungen! Linux, OS X http://hhu-fscs.de/linux-install-party/

Mehr

EINFÜHRUNG IN DIE PROGRAMMIERUNG

EINFÜHRUNG IN DIE PROGRAMMIERUNG EINFÜHRUNG IN DIE PROGRAMMIERUNG OBJEKTORIENTIERTES PROGRAMMIEREN Tobias Witt 25.03.2014 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

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 9. Klassische Suche: Baumsuche und Graphensuche Malte Helmert Universität Basel 13. März 2015 Klassische Suche: Überblick Kapitelüberblick klassische Suche: 5. 7.

Mehr

Technische Universität München. Vorlesungsgrobstruktur: wo stehen wir, wie geht s weiter

Technische Universität München. Vorlesungsgrobstruktur: wo stehen wir, wie geht s weiter Vorlesungsgrobstruktur: wo stehen wir, wie geht s weiter Kapitel 7 Fortgeschrittene Datenstrukturen Motivation: Lineare Liste: Suchen eines Elements ist schnell O(log n) Einfügen eines Elements ist langsam

Mehr

elementare Datenstrukturen

elementare Datenstrukturen elementare Datenstrukturen Wie die Daten das Laufen lernten Andreas Ferber af@myipv6.de elementare Datenstrukturen p./40 KISS elementare Datenstrukturen p./40 KISS (Keep It Simple, Stupid) Immer die einfachste

Mehr

Das Model/View/Controller Paradigma

Das Model/View/Controller Paradigma Model/View/Controller Das Model/View/Controller Paradigma Christian Knauer Trennung von Daten, Ansicht und Funktion ermöglicht z.b. mehrere Ansichten desselben Datensatzes wird meist als Model-Delegate

Mehr

Einführung in die Programmierung I. 2.0 Einfache Java Programme. Thomas R. Gross. Department Informatik ETH Zürich

Einführung in die Programmierung I. 2.0 Einfache Java Programme. Thomas R. Gross. Department Informatik ETH Zürich 252-0027 Einführung in die Programmierung I 2.0 Einfache Java Programme Thomas R. Gross Department Informatik ETH Zürich Uebersicht 2.0 Einfache Java Programme Struktur Namen Output 2 Graphische Darstellung

Mehr

Graphalgorithmen. Graphen

Graphalgorithmen. Graphen (Folie 270, Seite 67 im Skript) Graphen (Folie 271, Seite 67 im Skript) Graphen Definition Ein ungerichteter Graph ist ein Paar (V, E), wobei V die Menge der Knoten und E ( V 2) die Menge der Kanten ist.

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

Datenstrukturen Teil 2. Bäume. Definition. Definition. Definition. Bäume sind verallgemeinerte Listen. Sie sind weiter spezielle Graphen

Datenstrukturen Teil 2. Bäume. Definition. Definition. Definition. Bäume sind verallgemeinerte Listen. Sie sind weiter spezielle Graphen Bäume sind verallgemeinerte Listen Datenstrukturen Teil 2 Bäume Jeder Knoten kann mehrere Nachfolger haben Sie sind weiter spezielle Graphen Graphen bestehen aus Knoten und Kanten Kanten können gerichtet

Mehr

Einführung in die Informatik 2

Einführung in die Informatik 2 Einführung in die Informatik 2 Listen & Bäume Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 SvenKosub@uni-konstanzde Sprechstunde: Freitag, 14:00-15:00 Uhr, onv Sommersemester

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (18 Bäume: Grundlagen und natürliche Suchbäume) Prof. Dr. Susanne Albers Bäume (1) Bäume sind verallgemeinerte Listen (jedes Knoten-Element kann mehr

Mehr

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter

Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Kapitel 1 Der vierte Tag 1.1 Vererbung Neben der Verwendung von Klassen ist Vererbung ein wichtiges Merkmal objektorientierter Sprachen. Unter Vererbung versteht man die Möglichkeit, Eigenschaften vorhandener

Mehr

Prüfung Softwareentwicklung II (IB)

Prüfung Softwareentwicklung II (IB) Hochschule für angewandte Wissenschaften München Fakultät für Informatik und Mathematik Studiengruppe IB 2 B, IB 2 C Sommersemester 2013 Prüfung Softwareentwicklung II (IB) Datum : 11.07.2013, 08:30 Uhr

Mehr

Programmierung 2 Studiengang MI / WI

Programmierung 2 Studiengang MI / WI Programmierung 2 Studiengang MI / WI Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de Raum 2.202 Tel. 03943 / 659 338 Fachbereich Automatisierung

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Übung zur Vorlesung Einführung in die Informatik 2 für Ingenieure (MSE) Alexander van Renen (renen@in.tum.de)

Mehr

Verkettete Datenstrukturen: Listen

Verkettete Datenstrukturen: Listen Verkettete Datenstrukturen: Listen 2 Listen Formal: Liste = endliche Folge von Elementen [a 1, a 2,..., a n ]. Spezialfall: leere Liste [ ]. Länge einer Liste = Anzahl der Elemente (bei leerer Liste: 0).

Mehr

Praktikum Informatik II Prof. Dr. Martin Trauth, Dr. Michael Männel

Praktikum Informatik II Prof. Dr. Martin Trauth, Dr. Michael Männel Praktikum Informatik II Prof. Dr. Martin Trauth, Dr. Michael Männel FB Physikalische Technik Musterlösungen Teil 4 Aufgabe 1 package teil4; import javax.swing.*; public class Ei { int haltung, ident; String

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

Grundlagen der Künstlichen Intelligenz

Grundlagen der Künstlichen Intelligenz Grundlagen der Künstlichen Intelligenz 6. Klassische Suche: Datenstrukturen für Suchalgorithmen Malte Helmert Universität Basel 7. März 2014 Klassische Suche: Überblick Kapitelüberblick klassische Suche:

Mehr

Klausur Software-Entwicklung März 01

Klausur Software-Entwicklung März 01 Aufgabe 1: minimaler Punktabstand ( 2+5 Punkte ) Matrikelnr : In einem Array punkte sind Koordinaten von Punkten gespeichert. Ergänzen Sie in der Klasse Punkt eine Klassen-Methode (=static Funktion) punktabstand,

Mehr

Übungsblatt 13. Abgabe / Besprechung in Absprache mit dem Tutor

Übungsblatt 13. Abgabe / Besprechung in Absprache mit dem Tutor Albert-Ludwigs-Universität Freiburg Institut für Informatik Einführung in die Informatik Sommersemester 2013 PD Dr. Cyrill Stachniss Dr. Rainer Kümmerle Übungsblatt 13 Abgabe / Besprechung in Absprache

Mehr

Variablenarten. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java

Variablenarten. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java Variablenarten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 10.12.07 G. Bohlender (IANM UNI Karlsruhe) OOP und Klassen 10.12.07 1 / 15

Mehr

Kapitel 9 Schnittstellen

Kapitel 9 Schnittstellen Kapitel 9 Schnittstellen Korbinian Molitorisz IPD Tichy Lehrstuhl für Programmiersysteme KIT die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Agenda Was ist eine Schnittstelle?

Mehr

Informatik II - Tutorium 2

Informatik II - Tutorium 2 Informatik II - Tutorium 2 Vincent Becker vincent.becker@inf.ethz.ch 07.03.2018 Vincent Becker 08.03.2018 1 Übungsblatt 1 Vincent Becker 08.03.2018 2 U1.A1 f(a, b) = a x b = a) Induktionsbeweis über a

Mehr

18. Natürliche Suchbäume

18. Natürliche Suchbäume Wörterbuchimplementationen 1. Natürliche Suchbäume [Ottman/Widmayer, Kap..1, Cormen et al, Kap. 12.1-12.] Hashing: Implementierung von Wörterbüchern mit erwartet sehr schnellen Zugriffszeiten. Nachteile

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 13 Einstieg in die Informatik mit Java Schnittstellen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 13 1 Einführung 2 Definition einer Schnittstelle 3 Implementierung

Mehr

! 1. Rekursive Algorithmen.! 2. Rekursive (dynamische) Datenstrukturen. II.3.2 Rekursive Datenstrukturen - 1 -

! 1. Rekursive Algorithmen.! 2. Rekursive (dynamische) Datenstrukturen. II.3.2 Rekursive Datenstrukturen - 1 - ! 1. Rekursive Algorithmen! 2. Rekursive (dynamische) Datenstrukturen II.3.2 Rekursive Datenstrukturen - 1 - Ausdruck Ausdruck Grundwert ( Typ ) Präfix-Operator Name Methodenaufruf [ Ausdruck ] ( Ausdruck

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 22 Einstieg in die Informatik mit Java Grundlagen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 22 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White

Mehr

Datenstrukturen. einfach verkettete Liste

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

Mehr

Objektorientierte Datenbanken

Objektorientierte Datenbanken Objektorientierte Datenbanken Ralf Möller, FH-Wedel z Beim vorigen Mal: y Java Data Objects Teil 1 z Heute: y Java Data Objects Teil 2 z Lernziele: y Grundlagen der Programmierung persistenter Objekte

Mehr

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

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 13. Bäume. Bäume 1 Kapitel 13 Bäume Bäume 1 Ziele Den Begriff des Baums in der Informatik kennenlernen Bäume als verkettete Datenstruktur repräsentieren können Rekursive Funktionen auf Bäumen verstehen und schreiben können

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

1. Rekursive Algorithmen 2. Rekursive (dynamische) Datenstrukturen

1. Rekursive Algorithmen 2. Rekursive (dynamische) Datenstrukturen 1. Rekursive Algorithmen 2. Rekursive (dynamische) Datenstrukturen II.3.2 Rekursive Datenstrukturen - 1 - Grundwert ( Typ ) Präfix-Operator Name Methodenaufruf [ ] ( ) Infix-Operator Methodenaufruf new

Mehr

5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS)

5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS) 5 BINÄRE ENTSCHEIDUNGS- DIAGRAMME (BDDS) Sommersemester 2009 Dr. Carsten Sinz, Universität Karlsruhe Datenstruktur BDD 2 1986 von R. Bryant vorgeschlagen zur Darstellung von aussagenlogischen Formeln (genauer:

Mehr

9. Heuristische Suche

9. Heuristische Suche 9. Heuristische Suche Prof. Dr. Rudolf Kruse University of Magdeburg Faculty of Computer Science Magdeburg, Germany rudolf.kruse@cs.uni-magdeburg.de S Heuristische Suche Idee: Wir nutzen eine (heuristische)

Mehr

JUnit. Unit testing unter Java

JUnit. Unit testing unter Java JUnit Unit testing unter Java Was ist Junit? einfaches Framework zum Schreiben von wiederholbaren Tests Besonders geeignet für unit testing Erlaubt Hierarchie von Testsuites Schreiben eines Test Case 1.

Mehr

Funktionale und Objekt-Orientierte Programmierkonzepte

Funktionale und Objekt-Orientierte Programmierkonzepte Funktionale und Objekt-Orientierte Programmierkonzepte Prof. Marc Fischlin, Wintersemester 15/16 Kapitel 17: GUI, Threads und verschachtelte Klassen 13. Oktober 2010 Dr.Marc Fischlin Kryptosicherheit 1

Mehr

Kapitel 5: Iterierbare Container

Kapitel 5: Iterierbare Container Kapitel 5: Iterierbare Container Foreach-Schleife Interface Iterator Interface Iterable Iterator-Schleife und Foreach-Schleife Generische Liste mit Iteratoren Prof. Dr. O. Bittel, HTWG Konstanz Programmiertechnik

Mehr

1 of :26:26

1 of :26:26 //import java.util.arraylist; //import java.util.iterator; public class Bank private String name; //private ArrayList kontolist; private MyLinkedList kontolist; public Bank() this("bank");

Mehr

Handbuch für die Erweiterbarkeit

Handbuch für die Erweiterbarkeit Handbuch für die Erweiterbarkeit Inhalt Pakete für die Erweiterbarkeit... 2 Actions... 2 Items... 2 Itemset... 2 Die UseCaseNewAction... 3 Eigene Shapes... 4 Der Shape Container... 5 User Objects... 6

Mehr

Einführung: Zustandsdiagramme Stand:

Einführung: Zustandsdiagramme Stand: Einführung: Zustandsdiagramme Stand: 01.06.2006 Josef Hübl (Triple-S GmbH) 1. Grundlagen Zustandsdiagramme Zustände, Ereignisse, Bedingungen, Aktionen 2. Verkürzte Darstellungen Pseudozustände 3. Hierarchische

Mehr

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Programmieren II Dr. Werner Struckmann 16. August 2013 Name: Vorname: Matrikelnummer: Kennnummer: Anrede: Frau Herr

Mehr

9. Natürliche Suchbäume

9. Natürliche Suchbäume Bäume Bäume sind. Natürliche Suchbäume [Ottman/Widmayer, Kap..1, Cormen et al, Kap. 12.1-12.] Verallgemeinerte Listen: Knoten können mehrere Nachfolger haben Spezielle Graphen: Graphen bestehen aus Knoten

Mehr

Prüfung Softwareentwicklung I (IB)

Prüfung Softwareentwicklung I (IB) Hochschule für angewandte Wissenschaften München Fakultät für Informatik und Mathematik Studiengruppe IB 3 B, IB 3 C Wintersemester 2013/14 Prüfung Softwareentwicklung I (IB) Datum : 03.02.2014, 08:30

Mehr

Abschlussklausur Lösung. Bitte in Druckschrift leserlich ausfüllen!

Abschlussklausur Lösung. Bitte in Druckschrift leserlich ausfüllen! Informatik für Informationsmanager II SS 2006 Universität Koblenz-Landau Institut für Informatik Prof. Dr. Steffen Staab Dr. Manfred Jackel Abschlussklausur 04.08.2006 Lösung Bitte in Druckschrift leserlich

Mehr

Informatik II Prüfungsvorbereitungskurs

Informatik II Prüfungsvorbereitungskurs Informatik II Prüfungsvorbereitungskurs Tag 4, 23.6.2016 Giuseppe Accaputo g@accaputo.ch 1 Programm für heute Repetition Datenstrukturen Unter anderem Fragen von gestern Point-in-Polygon Algorithmus Shortest

Mehr

In C und Java müssen Variablen und Methodenergebnisse durch Typangaben erläutert werden. Welche der folgenden Aussagen sind korrekt und welche nicht:

In C und Java müssen Variablen und Methodenergebnisse durch Typangaben erläutert werden. Welche der folgenden Aussagen sind korrekt und welche nicht: Typprüfung (Compiler / Laufzeit) In C und Java müssen Variablen und Methodenergebnisse durch Typangaben erläutert werden. Welche der folgenden Aussagen sind korrekt und welche nicht: 1) Der Compiler prüft

Mehr

Informatik Abitur Bayern 2017 / II - Lösung

Informatik Abitur Bayern 2017 / II - Lösung Informatik Abitur Bayern 2017 / II - Lösung Autoren: Wolf (1) Wagner (2) Scharnagl (3-5) 1a 5 1b Diese Methode vergleicht den Namen des Interpreten eines jeden Elements der Liste mit dem gegebenen Namen.

Mehr

Binäre Suchbäume. Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps

Binäre Suchbäume. Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps Binäre Suchbäume Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps Mengen n Ziel: Aufrechterhalten einer Menge (hier: ganzer Zahlen) unter folgenden Operationen: Mengen n Ziel: Aufrechterhalten einer

Mehr

Planung von Handlungen bei unsicherer Information

Planung von Handlungen bei unsicherer Information Planung von Handlungen bei unsicherer Information Dr.-Ing. Bernd Ludwig Lehrstuhl für Künstliche Intelligenz Friedrich-Alexander-Universität Erlangen-Nürnberg 20.01.2010 Dr.-Ing. Bernd Ludwig (FAU ER)

Mehr

Einstieg in die Informatik mit Java

Einstieg 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

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 28 Einstieg in die Informatik mit Java Variablenarten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 28 1 Überblick: Variablenarten 2 Lokale Variablen 3 Lokale Variablen

Mehr

7.0 Arbeiten mit Objekten und Klassen

7.0 Arbeiten mit Objekten und Klassen 252-0027 Einführung in die Programmierung I 7.0 Arbeiten mit Objekten und Klassen Thomas R. Gross Department Informatik ETH Zürich Copyright (c) Pearson 2013. and Thomas Gross 2016 All rights reserved.

Mehr

Abgabe: keine Pflichtabgabe (vor 12 Uhr) Aufgabe 10.1 (P) Vererbung Gegeben seien folgende Java-Klassen:

Abgabe: keine Pflichtabgabe (vor 12 Uhr) Aufgabe 10.1 (P) Vererbung Gegeben seien folgende Java-Klassen: 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 10 Prof. Dr. Helmut Seidl, A. Lehmann, A. Herz,

Mehr

Klausur Algorithmen und Datenstrukturen I SS 03

Klausur Algorithmen und Datenstrukturen I SS 03 FH Braunschweig/Wolfenbüttel Fachbereich Informatik Prof Dr R Rüdiger Wolfenbüttel, den 18 Juni 2003 Klausur Algorithmen und Datenstrukturen I SS 03 Hinweise: Es sind beliebige schriftliche Unterlagen

Mehr

16. Dezember 2004 Dr. M. Schneider, P. Ziewer

16. Dezember 2004 Dr. M. Schneider, P. Ziewer Technische Universität München WS 2004/2005 Fakultät für Informatik Lösungsvorschläge zu Blatt 8 A. Berlea, M. Petter, 16. Dezember 2004 Dr. M. Schneider, P. Ziewer Übungen zu Einführung in die Informatik

Mehr

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5.

Vererbung. Gerd Bohlender. Institut für Angewandte und Numerische Mathematik. Vorlesung: Einstieg in die Informatik mit Java 23.5. Vererbung Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 23.5.07 G. Bohlender (IANM UNI Karlsruhe) Vererbung 23.5.07 1 / 22 Übersicht 1

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 SS 2011 Einführung in die rmatik I Übungsblatt 8 Prof. Dr. Helmut Seidl, A. Lehmann, A. Herz, Dr.

Mehr

Grundelemente objektorientierter Sprachen (1)

Grundelemente objektorientierter Sprachen (1) Grundelemente objektorientierter Sprachen (1) Objekt Repräsentation eines Objektes der realen Welt in der Terminologie objektorientierter Programmiersprachen besitzen Attribute (Eigenschaften), deren Werte

Mehr

Programmieren in Java -Eingangstest-

Programmieren in Java -Eingangstest- Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit

Mehr

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 3 - Objektorientierung Warum Objektorientierung Daten und Funktionen möglichst eng koppeln und nach außen kapseln Komplexität der Software besser modellieren

Mehr

Übungsblatt 13. Abgabe / Besprechung in Absprache mit dem Tutor

Übungsblatt 13. Abgabe / Besprechung in Absprache mit dem Tutor Albert-Ludwigs-Universität Freiburg Institut für Informatik Einführung in die Informatik Sommersemester 2018 Prof. Dr. Wolfram Burgard Andreas Kuhner Daniel Büscher Übungsblatt 13 Abgabe / Besprechung

Mehr

Grundelemente objektorientierter Sprachen (1)

Grundelemente objektorientierter Sprachen (1) Grundelemente objektorientierter Sprachen (1) Objekt Repräsentation eines Objektes der realen Welt in der Terminologie objektorientierter Programmiersprachen besitzen Attribute (Eigenschaften), deren Werte

Mehr

7. Verkettete Strukturen: Listen

7. Verkettete Strukturen: Listen 7. Verkettete Strukturen: Listen Java-Beispiele: IntList.java List.java Stack1.java Version: 4. Jan. 2016 Vergleich: Schwerpunkte Arrays verkettete Listen Listenarten Implementation: - Pascal (C, C++):

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

Schwerpunkte. Verkettete Listen. Verkettete Listen: 7. Verkettete Strukturen: Listen. Überblick und Grundprinzip. Vergleich: Arrays verkettete Listen

Schwerpunkte. Verkettete Listen. Verkettete Listen: 7. Verkettete Strukturen: Listen. Überblick und Grundprinzip. Vergleich: Arrays verkettete Listen Schwerpunkte 7. Verkettete Strukturen: Listen Java-Beispiele: IntList.java List.java Stack1.java Vergleich: Arrays verkettete Listen Listenarten Implementation: - Pascal (C, C++): über Datenstrukturen

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

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Java Generics und Java API (2/2) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/fischer #2 Listen Bisher: Collections

Mehr

Bipartites Matching. Gegeben: Ein bipartiter, ungerichteter Graph (V 1, V 2, E). Gesucht: Ein Matching (Paarung) maximaler Kardinalität.

Bipartites Matching. Gegeben: Ein bipartiter, ungerichteter Graph (V 1, V 2, E). Gesucht: Ein Matching (Paarung) maximaler Kardinalität. Netzwerkalgorithmen Bipartites Matching (Folie 90, Seite 80 im Skript) Gegeben: Ein bipartiter, ungerichteter Graph (V, V, E). Gesucht: Ein Matching (Paarung) maximaler Kardinalität. Ein Matching ist eine

Mehr

Exkurs: ANONYME KLASSEN. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm

Exkurs: ANONYME KLASSEN. Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Exkurs: ANONYME KLASSEN Techniken der Programmentwicklung Prof. Dr. Wolfgang Schramm Anonyme Klassen Eigenschaften 1 Häufigste Anwendung lokaler Klassen: anonyme Definition. Klasse erhält keinen eigenen

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Übungsblatt 9 Lösungsvorschlag Objektorientierte Programmierung 26. 06. 2006 Aufgabe 19 (Sieb des Erathostenes)

Mehr

7.0 Arbeiten mit Objekten und Klassen

7.0 Arbeiten mit Objekten und Klassen 252-0027 Einführung in die Programmierung 7.0 Arbeiten mit Objekten und Klassen Thomas R. Gross Department Informatik ETH Zürich Copyright (c) Pearson 2013. and Thomas Gross 2016 All rights reserved. Uebersicht

Mehr

Entscheidungsverfahren für die Software-Verifikation. 4 - BDDs

Entscheidungsverfahren für die Software-Verifikation. 4 - BDDs Entscheidungsverfahren für die Software-Verifikation 4 - BDDs Datenstruktur BDD 1986 von R. Bryant vorgeschlagen zur Darstellung von aussagenlogischen Formeln (genauer: Booleschen Funktionen) Boolesche

Mehr

Java-Schulung Grundlagen

Java-Schulung Grundlagen Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings

Mehr

12 Abstrakte Klassen, finale Klassen und Interfaces

12 Abstrakte Klassen, finale Klassen und Interfaces 12 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,

Mehr

... Created by Michael Kirsch & Beat Rossmy

... Created by Michael Kirsch & Beat Rossmy PROCESSING... Created by Michael Kirsch & Beat Rossmy INHALT JAVAFX WIE KÖNNEN WIR IN JAVA GRAFISCHEN OUTPUT ERZEUGEN? JAVAFX JavaFX ist ein Framework, dass es uns ermöglicht gra sche Elemente und die

Mehr

Bäume. Listen und Bäume, Graphen und Bäume, elementare Eigenschaften von Binärbäumen, Implementierung, Generische Baumdurchläufe

Bäume. Listen und Bäume, Graphen und Bäume, elementare Eigenschaften von Binärbäumen, Implementierung, Generische Baumdurchläufe Bäume Listen und Bäume, Graphen und Bäume, elementare Eigenschaften von Binärbäumen, Implementierung, Generische Baumdurchläufe S. Staab, Informatik für IM II; Folien nach D. Saupe, sowie W. Küchlin, A.

Mehr

Implementieren von Klassen

Implementieren von Klassen Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 24 Einstieg in die Informatik mit Java Variablenarten Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 24 1 Lokale Variablen 2 Lokale Variablen in Blocks 3 Lokale Variablen

Mehr

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

Mehr

Lösungsvorschläge. zu den Aufgaben im Kapitel 4

Lösungsvorschläge. zu den Aufgaben im Kapitel 4 Lösungsvorschläge zu den Aufgaben im Kapitel 4 Aufgabe 4.1: Der KNP-Algorithmus kann verbessert werden, wenn in der Funktion nexttabelle die Zuweisung next[tabindex] = ruecksprung; auf die etwas differenziertere

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (12 Hashverfahren: Verkettung der Überläufer) Prof. Dr. Susanne Albers Möglichkeiten der Kollisionsbehandlung Kollisionsbehandlung: Die Behandlung

Mehr

Institut für Programmierung und Reaktive Systeme 17. Juli Programmieren II. Übungsklausur

Institut für Programmierung und Reaktive Systeme 17. Juli Programmieren II. Übungsklausur Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 17. Juli 2015 Hinweise: Klausurtermine: Programmieren II Übungsklausur Programmieren I: 7. September

Mehr

Algorithmen und Datenstrukturen 07

Algorithmen und Datenstrukturen 07 (7. Juni 2012) 1 Besprechung Blatt 6 Fragen 2 Referenzen Referenzsemantik 3 Vererbung Allgemein abstract Interfaces Vererbung in UML 4 Vorbereitung Blatt 7 Anmerkungen Fragen Fragen zu Blatt 6? Referenzsemantik

Mehr

// compiliert, aber Programmabbruch zur Laufzeit: einesuppe = ((EßbarerPilz)einPilz).kochen();

// compiliert, aber Programmabbruch zur Laufzeit: einesuppe = ((EßbarerPilz)einPilz).kochen(); Typecast class Pilz void suchen() void sammeln() class EßbarerPilz extends Pilz Suppe kochen() Suppe einesuppe = new Suppe(); return einesuppe; class GiftPilz extends Pilz void entsorgen() class Suppe

Mehr