Einführung in die Informatik I
|
|
- Clemens Albert Fischer
- vor 6 Jahren
- Abrufe
Transkript
1 Einführung in die Informatik I Graphen und Bäume Prof. Dr. Nikolaus Wulff
2 Weitere Datentypen Als wichtige abstrakte Datentypen (ADT) kennen wir bis lang die Liste, den Stapel und die Warteschlange. Diese ADTs repräsentieren im wesentlichen eindimensionale Ansammlungen von Dingen. Zwei weitere Konzepte der Mathematik sind Graphen und als eine Spezialisierung hiervon Bäume, mit denen sich auch nicht linear geordnete Mengen verwalten, visualisieren und realisieren lassen. Ein Graph Prof. Dr. Nikolaus Wulff Informatik I 2 Ein Baum
3 Graphen Ein wichtiger ADT der Informatik ist das mathematische Konzept eines Graphen. Die Definition eines Graphen erfolgt in Form eines Zweitupels G=(V, E). Ein Graph G besteht aus einer endlichen Menge V, und einer Relation E V V. Die Elemente v,u V heißen Knoten (engl. vertices), die verbindenden Elemente e=(v,u) E Kanten (engl. edges). Ein Graph abstrahiert von der realen Geometrie und reduziert sich auf die wesentliche topologische Information der Verbundenheit. Prof. Dr. Nikolaus Wulff Informatik I 3
4 Beispiele für Graphen Landkarten/Zugfahrpläne können als Graphen interpretiert werden. Städte/Bahnhöfe sind die Knoten, Verbindungsstraßen/Gleise sind die Kanten. Eine (nicht nur) für die Informatik interessante Frage ist die Suche nach der kürzesten (schnellsten) Verbindung zwischen zwei oder mehreren Städten. Platinenlayouts elektrischer Bauteile lassen sich als Graph darstellen. Die Bauteile sind Kanten, die Lötpunkte sind die Knoten. => Kirchhofschen Sätze Netzwerke im WWW: Router sind Knoten, Kabel sind Kanten. Die Kanten können gewichtet sein, hier z.b. nach dem Datendurchsatz: 10Mbit, 100Mbit etc. Prof. Dr. Nikolaus Wulff Informatik I 4
5 Spezielle Graphen Es sei V eine endliche n-elementige Menge n= V. Ein Graph G=(V, ) ohne Kanten heißt Nullgraph oder auch vollständig unverbunden und wird mit O n bezeichnet. Ein Graph G=(V, {(v,u) v,u V}) heißt vollständig und wird mit K n bezeichnet. 1 3 O 3 K Prof. Dr. Nikolaus Wulff Informatik I 5
6 Spezielle Graphen cont. Ein Kreis n besteht aus n Knoten, die zyklisch miteinander verbunden sind. Ein Gittergraph M n,m entseht indem n m viele Knoten wie in einem Gitter mit n Zeilen und m Spalten verbunden werden. Ein Pfad P n entsteht aus n+1 Knoten und n Kanten. 6 M 4,5 P 4 Prof. Dr. Nikolaus Wulff Informatik I 6
7 Graphen Typen Graphen können gerichtet oder ungerichtet sein. Bei gerichteten Graphen werden die Kanten mit Pfeilen versehen Bei gewichteten Graphen werden die Kanten mit geeigneten Gewichten versehen Prof. Dr. Nikolaus Wulff Informatik I 7
8 Suggestive Grafik Beide Abbildungen repräsentieren den selben Graphen G = (V,E): V = {1, 2, 3, 4, 5} E = { (1,2), (2,3), (3,4), (4,5), (5,1) } Prof. Dr. Nikolaus Wulff Informatik I 8
9 Kantologie Eine Kante hat genau zwei Knoten. Kanten können sich nur in Knoten berühren. Alle sonstigen Schnittpunkte oder Kreuzungen von Kanten in Diagrammen haben nichts mit dem zugrunde liegenden Graphen zu tun! Bei ungerichteten Graphen können zwei Knoten höchstens durch eine Kante verbunden werden. Ausnahme sind Multigraphen... Entscheidend ist nicht das graphische Diagramm sondern das Zweitupel (V,E). Prof. Dr. Nikolaus Wulff Informatik I 9
10 Teilgraphen Seien G=(V G, E G ) und H=(V H, E H ) zwei Graphen. H heißt Unter-/ Teilgraph von G, wenn V H V G und E H E G gilt, d.h. jede Kante von H auch zu G gehört. Der Nullgraph O n ist Teilgraph eines jeden Graphen mit n Knoten und jeder solcher Graph mit n Knoten ist Untergraph des vollständigen Graphen K n. Prof. Dr. Nikolaus Wulff Informatik I 10
11 Wege und Kreise Interessant sind die Wege innerhalb eines Graphen und hier insbesondere die Kreise. Es sei G ein Graph und u und v zwei Knoten in G. u und v heißen benachbart, wenn sie durch eine Kante verbunden sind, also (v,u) E gilt. Ein Weg von u nach v ist eine Folge jeweils benachbarter Knoten u 0,...,u l mit u =u 0 und v =u l. Die Länge dieses Weges ist l. Ein Weg heißt geschlossen, wenn sein Anfangs- und sein Endknoten gleich sind, d.h. u 0 = u l. Prof. Dr. Nikolaus Wulff Informatik I 11
12 Topologisches Zwei Knoten u und v eines ungerichteten Graphen G heißen zusammenhängend, wenn es in G einen Weg von u nach v gibt. Diese Eigenschaft bildet eine Äquivalenzrelation R auf V. Sie ist reflexiv: vrv symmetrisch: vru urv transitiv: vru und urw vrw Ein Graph G heißt zusammenhängend wenn alle seine Knoten zusammenhängen. Prof. Dr. Nikolaus Wulff Informatik I 12
13 Pfade Als Pfade werden Wege bezeichnet bei denen keine Kante zweimal durchlaufen wird. Ein geschlossener Pfad heißt Kreis. Ein einfacher Pfad ist ein Pfad, bei dem kein Knoten mehrfach durchlaufen wird. Die Anzahl der Kanten e, die in einem Knoten v enden oder beginnen werden als Grad deg(v) bezeichnet. Bei gerichteten Graphen wird noch nach ein- und ausgehenden Kanten unterschieden. Prof. Dr. Nikolaus Wulff Informatik I 13
14 Sätze über Knoten und Kanten Für jeden Graph G=(V,E) gilt: V deg =2 E Beweis: Jede Kante e={u,v} wird Links zweimal gezählt, einmal bei u und einmal bei v. Rechts auch... Die Anzahl Knoten mit ungeradem Grad ist gerade. Beweis: Partitioniere V in zwei Teilmengen V u und V g für Knoten mit ungeradem bzw. geradem Grad: 2 E = V g deg V u deg ist gerade ist gerade => muss gerade sein... Prof. Dr. Nikolaus Wulff Informatik I 14
15 Repräsentation von Graphen Graphen lassen sich recht einfach als Matrix oder als mehrfach verkettete Listen darstellen. Ein Graph mit n Knoten benötigt eine n n Matrix, d.h. der Speicherplatzbedarf ist O(n 2 ). Bei Graphen mit wenigen m= E Kanten ist dies eine ineffiziente Methode. Besser sind dann verkettete Listen, die nur O(n+m) Speicherplatz benötigen. 1 2 Graph Adjazenzmatrix Prof. Dr. Nikolaus Wulff Informatik I Adjazenzliste
16 Von Wäldern, Bäumen und Blättern Ein wichtiger Spezialfall eines Graphen ist ein Baum. Ein Baum ist ein kreisfreier, zusammenhängender Graph. Ein Knoten v mit deg(v)=1 heißt Blatt. Wird aus einem Baum ein Knoten v mit k=deg(v) entfernt, so zerfällt dieser in einen Wald aus k Teilbäumen. Prof. Dr. Nikolaus Wulff Informatik I 16
17 Struktur eines Baums Ein Baum beinhaltet eine wichtige strukturelle Information. Er ist selbstähnlich, jeder Teilgraph eines Baums ist wiederum ein Baum! Bäume lassen sich rekursiv definieren: Ein einzelner Knoten ist die Wurzel eines Baums. Sind B 1,B 2,...,B k Bäume, so bildet ein zusätzlicher Knoten die Wurzel eines neuen Baums, indem von diesen Knoten k Kanten zu den Wurzeln der k Bäume B 1, B 2,..., B k gezogen werden. Bemerkung: dies ist im Prinzip die Umkehrung des Waldbeispiels. Prof. Dr. Nikolaus Wulff Informatik I 17
18 Ecken Kanten Beziehung Für einen Baum B=(V, E) mit endlich vielen Knoten gilt: V = E 1 Beweis: Für einen Baum mit n = 1 Knoten ist der Satz richtig. Für einen Baum mit n = V Knoten sei der Satz richtig. Wird ein Knoten v hinzugefügt, so muss auch eine Kante hinzugefügt werden, damit diese erreichbar ist. Wird hingegen eine Kante e hinzugefügt, so muss auch ein neuer Knoten v hinzugefügt werden, andernfalls würde die Kante e zwei existierende Knoten verbinden, die bereits durch einen Weg verbunden waren und somit durch die neue Kante einen Kreis bilden würden, im Widerspruch zur Kreisfreiheit. Der Satz gilt somit auch für n+1 Knoten. Prof. Dr. Nikolaus Wulff Informatik I 18
19 Binärbäume Ein Binärbaum ist ein Baum, bei dem ausgehend von der Wurzel alle Knoten maximal zwei Kindknoten besitzen. Ein Binärbaum heißt voll, wenn bis auf die Blätter der letzten Ebene alle Knoten zwei Kinder besitzen. Bei einem vollständigen Binärbaum B n der Höhe n gibt es dann genau: 2 n Blätter auf der k-ten Höhe 2 k innere Knoten und somit 2 n+1 1 Knoten insgesamt. Prof. Dr. Nikolaus Wulff Informatik I 19
20 Beispiele für (Binär)bäume Der Aufrufgraph zur rekursiven Berechnung der Fibonacci-Zahlen F n = F n-1 + F n-2 bildet einen Binärbaum. Der Quicksort Algorithmus und die Nullstellensuche durch Intervallhalbierung bilden eine rekursive Aufruffolge, die als Binärbaum darstellbar ist. Das Dateisystem auf der Festplatte ist als Baum strukturiert. Es gibt eine Wurzel (:\ oder \) und dann Verzeichnisse mit weiteren Unterverzeichnissen (den Knoten) und den einzelnen Dateien (den Blättern). Prof. Dr. Nikolaus Wulff Informatik I 20
21 Vollständiger Binärbaum Der vollständige Baum B 3 innerer Knoten Wurzel Blatt Blätter n = 2 n Knoten n = j=0 n n = j=0 Blätter j 2 j = 2 n 1 1 Zur Übung: Beweis mit vollständiger Induktion! Prof. Dr. Nikolaus Wulff Informatik I 21
22 Implementierung von Binärbäumen Binärbäume haben maximal genau zwei Kinder. Ein solcher ADT Tree lässt sich in effizient mit einer rekursive Struktur mit Zeigern auf das linke und rechte Kind implementieren. typedef struct BinTree { int data; /* Daten... */ struct BinTree *lefthild; struct BinTree *righthild; } *BTree; Speicher für Struktur anfordern BTree tree; tree = (BTree) malloc( sizeof(struct BinTree)); Prof. Dr. Nikolaus Wulff Informatik I 22
23 Ordnung muss sein... Linkes und rechtes Kind werden i.a. so codiert, dass links.data < data < rechts.data gilt. D.h. es wird eine Ordnungsrelation abgebildet und ein Binärbaum eignet sich insbesondere für schnelle Such- und Sortieralgorithmen. Ein solcher Baum heißt dann sortierter Baum. 3 Frage: wie und wo wird der Knoten 5 eingefügt? Prof. Dr. Nikolaus Wulff Informatik I 23
24 Sortierter Baum Um Einfüge- und Löschoperationen effizient codieren zu können, wird meistens noch die Eltern-Kind- Beziehung benötigt, so dass die binäre Struktur erweitert wird: typedef struct SortedTree { int data; /* Daten... */ struct SortedTree *parent; struct SortedTree *lefthild; struct SortedTree *righthild; } *STree; Prof. Dr. Nikolaus Wulff Informatik I 24
25 Ausgeglichene Bäume Die selben Zahlen /Daten können je nach der Einfügereihenfolge zu unterschiedlichen Bäumen führen: Folge: 2,3,4,6,9,12,16 => lineare Kette Folge: 9,3,12,2,4,6,16 => ausgeglichener Baum Gesucht sind daher Verfahren, die beim Einfügen eines neuen Knoten möglichst ausgeglichene Bäume erstellen, ohne die innere Struktur jedes mal komplett neu berechnen zu müssen. (D.h. intern Knoten umzuhängen). Hierzu gibt es spezielle Baumarten, wie Rot- Schwarz- oder AVL-Bäume, die beim Einfügen und Löschen verhindern, dass der Baum entartet. Prof. Dr. Nikolaus Wulff Informatik I 25
Angewandte Informatik
Angewandte Informatik Analyse des Graphs G zur Bestimmung von Parallel- undreihenschaltung Prof. Dr. Nikolaus Wulff Gewichteter Multigraph Die Adjazenzmatrix eines Graphen eignet sich auch zur Analyse
MehrDatenstrukturen. 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
MehrMinimal spannende Bäume
http://www.uni-magdeburg.de/harbich/ Minimal spannende Fakultät für Informatik Otto-von-Guericke-Universität 2 Inhalt Definition Wege Untergraphen Kantengewichtete Graphen Minimal spannende Algorithmen
MehrVorlesung 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
MehrWS 2009/10. Diskrete Strukturen
WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910
Mehr2. Repräsentationen von Graphen in Computern
2. Repräsentationen von Graphen in Computern Kapitelinhalt 2. Repräsentationen von Graphen in Computern Matrizen- und Listendarstellung von Graphen Berechnung der Anzahl der verschiedenen Kantenzüge zwischen
MehrTheoretische Informatik 1 WS 2007/2008. Prof. Dr. Rainer Lütticke
Theoretische Informatik 1 WS 2007/2008 Prof. Dr. Rainer Lütticke Inhalt der Vorlesung Grundlagen - Mengen, Relationen, Abbildungen/Funktionen - Datenstrukturen - Aussagenlogik Automatentheorie Formale
MehrVerkettete Datenstrukturen: Bäume
Verkettete Datenstrukturen: Bäume 1 Graphen Gerichteter Graph: Menge von Knoten (= Elementen) + Menge von Kanten. Kante: Verbindung zwischen zwei Knoten k 1 k 2 = Paar von Knoten (k 1, k 2 ). Menge aller
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Einheit 11: Graphen Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2010/2011 1/59 Graphische Darstellung von Zusammenhängen schon
MehrDefinition Ein gerichteter Graph G = (V, E) ist ein Graph von geordneten Paaren (u, v) mit u V und v V.
Kapitel 4 Graphenalgorithmen 4.1 Definitionen Definition 4.1.1. Der Graph G = (V, E) ist über die beiden Mengen V und E definiert, wobei V die Menge der Knoten und E die Menge der Kanten in dem Graph ist.
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
Mehr15. Elementare Graphalgorithmen
Graphen sind eine der wichtigste Modellierungskonzepte der Informatik Graphalgorithmen bilden die Grundlage vieler Algorithmen in der Praxis Zunächst kurze Wiederholung von Graphen. Dann Darstellungen
MehrGraphen und Bäume. A.1 Graphen
Algorithmen und Datenstrukturen 96 A Graphen und Bäume A.1 Graphen Ein gerichteter Graph (auch Digraph) G ist ein Paar (V, E), wobei V eine endliche Menge und E eine Relation auf V ist, d.h. E V V. V heißt
MehrGraphenalgorithmen I
enalgorithmen I Tobias Pröger 21. Dezember 2016 Erklärung: Diese Mitschrift ist als Ergänzung zur Vorlesung gedacht. Wir erheben keinen Anspruch auf Vollständigkeit und Korrektheit. Wir sind froh über
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
MehrAufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph.
Aufgabe 4.2 Sei G = (V, E, l) ein ungerichteter, gewichteter und zusammenhängender Graph. a) Es seien W 1 = (V, E 1 ), W 2 = (V, E 2 ) Untergraphen von G, die beide Wälder sind. Weiter gelte E 1 > E 2.
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Kapitel 15: Graphen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik
MehrIsomorphie von Bäumen
Isomorphie von Bäumen Alexandra Weinberger 23. Dezember 2011 Inhaltsverzeichnis 1 Einige Grundlagen und Definitionen 2 1.1 Bäume................................. 3 1.2 Isomorphie..............................
MehrVorlesung Datenstrukturen
Vorlesung Datenstrukturen Binärbaum Suchbaum Dr. Frank Seifert Vorlesung Datenstrukturen - Sommersemester 2016 Folie 356 Datenstruktur Binärbaum Strukturrepräsentation des mathematischen Konzepts Binärbaum
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
MehrBinäre Suchbäume. Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps
Binäre Suchbäume Mengen, Funktionalität, Binäre Suchbäume, Heaps, Treaps Mengen n Ziel: Aufrechterhalten einer Menge (hier: ganzer Zahlen) unter folgenden Operationen: Mengen n Ziel: Aufrechterhalten einer
MehrStudientag zur Algorithmischen Mathematik
Studientag zur Algorithmischen Mathematik Eulertouren, 2-Zusammenhang, Bäume und Baumisomorphismen Winfried Hochstättler Diskrete Mathematik und Optimierung FernUniversität in Hagen 22. Mai 2011 Outline
MehrDiskrete Mathematik. Sebastian Iwanowski FH Wedel. Kap. 6: Graphentheorie
Referenzen zum Nacharbeiten: Diskrete Mathematik Sebastian Iwanowski FH Wedel Kap. 6: Graphentheorie Lang 6 Beutelspacher 8.1-8.5 Meinel 11 zur Vertiefung: Aigner 6, 7 (7.4: Algorithmus von Dijkstra) Matousek
MehrVollständiger Graph. Definition 1.5. Sei G =(V,E) ein Graph. Gilt {v, w} E für alle v, w V,v w, dann heißt G vollständig (complete).
Vollständiger Graph Definition 1.5. Sei G =(V,E) ein Graph. Gilt {v, w} E für alle v, w V,v w, dann heißt G vollständig (complete). Mit K n wird der vollständige Graph mit n Knoten bezeichnet. Bemerkung
Mehr6. Übung zur Linearen Optimierung SS08
6 Übung zur Linearen Optimierung SS08 1 Sei G = (V, E) ein schlichter ungerichteter Graph mit n Ecken und m Kanten Für eine Ecke v V heißt die Zahl der Kanten (u, v) E Grad der Ecke (a) Ist die Anzahl
MehrDatenstrukturen. Mariano Zelke. Sommersemester 2012
Datenstrukturen Mariano Zelke Sommersemester 2012 Einfach verkettete Listen Mariano Zelke Datenstrukturen 2/32 Eine Zeiger-Implementierung von einfach verketteten Listen, also Listen mit Vorwärtszeigern.
Mehrw a is die Anzahl der Vorkommen von a in w Beispiel: abba a = 2
1 2 Notation für Wörter Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg w a is die Anzahl der Vorkommen von a in w Beispiel: abba
MehrDefinition Gerichteter Pfad. gerichteter Pfad, wenn. Ein gerichteter Pfad heißt einfach, falls alle u i paarweise verschieden sind.
3.5 Gerichteter Pfad Definition 291 Eine Folge (u 0, u 1,..., u n ) mit u i V für i = 0,..., n heißt gerichteter Pfad, wenn ( i {0,..., n 1} ) [ (u i, u i+1 ) A]. Ein gerichteter Pfad heißt einfach, falls
MehrGrundlagen Algorithmen und Datenstrukturen TUM Sommersemester 2011 (2) Dozent: Hanjo Täubig
Grundlagen Algorithmen und Datenstrukturen TUM Sommersemester 2011 (2) Dozent: Hanjo Täubig Janosch Maier 3. August 2011 Inhaltsverzeichnis 1 Sortieren 3 1.1 Externes Sortieren..........................
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
MehrAlgorithmen und Datenstrukturen 1
Algorithmen und Datenstrukturen 1 7. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@informatik.uni-leipzig.de aufbauend auf den Kursen der letzten Jahre von E. Rahm, G. Heyer,
MehrBäume und Wälder. Definition 1
Bäume und Wälder Definition 1 Ein Baum ist ein zusammenhängender, kreisfreier Graph. Ein Wald ist ein Graph, dessen Zusammenhangskomponenten Bäume sind. Ein Knoten v eines Baums mit Grad deg(v) = 1 heißt
Mehr1. Einleitung wichtige Begriffe
1. Einleitung wichtige Begriffe Da sich meine besondere Lernleistung mit dem graziösen Färben (bzw. Nummerieren) von Graphen (speziell von Bäumen), einem Teilgebiet der Graphentheorie, beschäftigt, und
Mehr9. Übung Algorithmen I
Timo Bingmann, Christian Schulz INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 1 KIT Timo Universität Bingmann, des LandesChristian Baden-Württemberg Schulz und nationales Forschungszentrum in der
MehrQuicksort ist ein Divide-and-Conquer-Verfahren.
. Quicksort Wie bei vielen anderen Sortierverfahren (Bubblesort, Mergesort, usw.) ist auch bei Quicksort die Aufgabe, die Elemente eines Array a[..n] zu sortieren. Quicksort ist ein Divide-and-Conquer-Verfahren.
Mehr8 Diskrete Optimierung
8 Diskrete Optimierung Definition 8.1. Ein Graph G ist ein Paar (V (G), E(G)) besteh aus einer lichen Menge V (G) von Knoten (oder Ecken) und einer Menge E(G) ( ) V (G) 2 von Kanten. Die Ordnung n(g) von
MehrDefinition Ein Heap (priority queue) ist eine abstrakte Datenstruktur mit folgenden Kennzeichen:
HeapSort Allgemeines Sortieralgorithmen gehören zu den am häufigsten angewendeten Algorithmen in der Datenverarbeitung. Man hatte daher bereits früh ein großes Interesse an der Entwicklung möglichst effizienter
MehrAnmerkungen zur Übergangsprüfung
DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung
MehrDatenstrukturen. Mariano Zelke. Sommersemester 2012
Datenstrukturen Mariano Zelke Sommersemester 2012 Tiefensuche: Die globale Struktur Der gerichtete oder ungerichtete Graph G werde durch seine Adjazenzliste A repräsentiert. Im Array besucht wird vermerkt,
MehrWillkommen zur Vorlesung. Algorithmen und Datenstrukturen
Willkommen zur Vorlesung Algorithmen und Datenstrukturen Mein Name: Andreas Berndt Zum Dozenten Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen Derzeitige Sprachen:
MehrProgrammiertechnik II
Bäume Symboltabellen Suche nach Werten (items), die unter einem Schlüssel (key) gefunden werden können Bankkonten: Schlüssel ist Kontonummer Flugreservierung: Schlüssel ist Flugnummer, Reservierungsnummer,...
MehrMassive Parallelität : Neuronale Netze
Massive Parallelität : Neuronale Netze PI2 Sommer-Semester 2005 Hans-Dieter Burkhard Massive Parallelität : Neuronale Netze Knoten: Neuronen Neuronen können erregt ( aktiviert ) sein Kanten: Übertragung
MehrVorlesung Diskrete Strukturen Graphen: Wieviele Bäume?
Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2013/14 Isomorphie Zwei Graphen (V 1, E 1 ) und (V
MehrKodieren Von Graphen
Kodieren Von Graphen Allgemeine Anwendungen: Routenplaner Netzpläne Elektrische Schaltungen Gebäudeerkennung aus Luftaufnahmen Definitionen:? Graph Ein Graph G besteht aus einem geordneten Paar G = (V,E)
MehrEinführung in die Informatik I
Einführung in die Informatik I Fortgeschrittene Rekursion Prof. Dr. Nikolaus Wulff Problematische Rekursion Mittels Rekursion lassen sich Spezifikationen recht elegant und einfach implementieren. Leider
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens aw@awilkens.com Überblick Grundlagen Definitionen Elementare Datenstrukturen Rekursionen Bäume 2 1 Datenstruktur Baum Definition eines Baumes
MehrGraphalgorithmen I. Simon Regnet. May 16, Universität Erlangen. Simon Regnet (Universität Erlangen) Graphalgorithmen I May 16, / 56
Graphalgorithmen I Simon Regnet Universität Erlangen May 16, 2008 Simon Regnet (Universität Erlangen) Graphalgorithmen I May 16, 2008 1 / 56 Inhalt 1 Motivation 2 Terminologie 3 Datenstrukturen 4 Suche
MehrBinärbäume: Beispiel
Binärbäume Als Beispiel für eine interessantere dynamische Datenstruktur sehen wir uns jetzt Binärbäume an Ein Binärbaum wird rekursiv definiert: Er ist leer oder besteht aus einem Knoten (die Wurzel des
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Datenstrukturen: Anordnung von Daten, z.b. als Liste (d.h. in bestimmter Reihenfolge) Beispiel: alphabetisch sortiertes Wörterbuch... Ei - Eibe - Eidotter... als Baum (d.h.
MehrWiederholung ADT Menge Ziel: Verwaltung (Finden, Einfügen, Entfernen) einer Menge von Elementen
Was bisher geschah abstrakter Datentyp : Signatur Σ und Axiome Φ z.b. ADT Menge zur Verwaltung (Finden, Einfügen, Entfernen) mehrerer Elemente desselben Typs Spezifikation einer Schnittstelle Konkreter
MehrKapitel 4: Dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete
Kapitel 4: Dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.4 Binäre Suche Aufgabenstellung: Rate eine Zahl zwischen 100 und 114! Algorithmus 4.1 INPUT: OUTPUT:
MehrSchulinterner Lehrplan für das Fach Informatik der Sekundarstufe II an der Bettine von Arnim Gesamtschule
des Zweckverbandes Langenfeld / Hilden - Sekundarstufen I und II - B.V.A-Gesamtschule Hildener Str. 3 40764 Langenfeld 02173 / 9956-0 Fax 02173 / 9956-99 Email: mail@bva-gesamtschule.de Web: www.bva-gesamtschule.de
Mehr3 Klassifikation wichtiger Optimierungsprobleme
3 Klassifikation wichtiger Optimierungsprobleme 3.1 Das MIN- -TSP Wir kehren nochmal zurück zum Handlungsreisendenproblem für Inputs (w {i,j} ) 1 i
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. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/3, Folie 1 2010 Prof. Steffen Lange - HDa/FbI
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
Mehr\ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E.
Das Komplement Ḡ = (V, ( V ) \ E) eines Graphen G = (V, E) besitzt die gleiche Knotenmenge V und hat als Kantenmenge alle Kanten des vollständigen Graphen ohne die Kantenmenge E. Ein Graph H = (V, E )
MehrGraphentheorie. Eulersche Graphen. Eulersche Graphen. Eulersche Graphen. Rainer Schrader. 14. November Gliederung.
Graphentheorie Rainer Schrader Zentrum für Angewandte Informatik Köln 14. November 2007 1 / 22 2 / 22 Gliederung eulersche und semi-eulersche Graphen Charakterisierung eulerscher Graphen Berechnung eines
Mehr14. Rot-Schwarz-Bäume
Bislang: Wörterbuchoperationen bei binären Suchbäume effizient durchführbar, falls Höhe des Baums klein. Rot-Schwarz-Bäume spezielle Suchbäume. Rot-Schwarz-Baum mit n Knoten hat Höhe höchstens 2 log(n+1).
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
MehrAlgorithmen und Datenstrukturen (WS 2007/08) 63
Kapitel 6 Graphen Beziehungen zwischen Objekten werden sehr oft durch binäre Relationen modelliert. Wir beschäftigen uns in diesem Kapitel mit speziellen binären Relationen, die nicht nur nur besonders
MehrKAPITEL 3 MATCHINGS IN BIPARTITEN GRAPHEN
KAPITEL 3 MATCHINGS IN BIPARTITEN GRAPHEN F. VALLENTIN, A. GUNDERT 1. Definitionen Notation 1.1. Ähnlich wie im vorangegangenen Kapitel zunächst etwas Notation. Wir beschäftigen uns jetzt mit ungerichteten
MehrGraphen. Leonhard Euler ( )
Graphen Leonhard Euler (1707-1783) 2 Graph Ein Graph besteht aus Knoten (nodes, vertices) die durch Kanten (edges) miteinander verbunden sind. 3 Nachbarschaftsbeziehungen Zwei Knoten heissen adjazent (adjacent),
Mehr8. Übung zu Algorithmen I 15. Juni 2016
8. Übung zu Algorithmen I 15. Juni 2016 Lisa Kohl Lisa.Kohl@kit.edu (mit Folien von Julian Arz, Timo Bingmann, Sebastian Schlag, Christian Staudt und Christoph Striecks) Nachtrag: Quicksort, alternative
MehrFortgeschrittene Netzwerk- und Graph-Algorithmen
Fortgeschrittene Netzwerk- und Graph-Algorithmen Dr. Hanjo Täubig Lehrstuhl für Eziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester 2007/08
MehrGrundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny
Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.
MehrInformatik I 2. Kapitel. Elementare Datenstrukturen. Datenstrukturen. Datenstrukturen. Rainer Schrader. 28. Mai 2008
Informatik I. Kapitel Rainer Schrader Elementare Zentrum für Angewandte Informatik Köln 8. Mai 008 / / bisher haben wir nur Arrays verwendet, Gliederung Einführung abstrakte Datentypen Listen Stacks und
MehrProseminar Kodierverfahren bei Dr. Ulrich Tamm Sommersemester 2003 Thema: Codierung von Bäumen (Prüfer Codes...)
Proseminar Kodierverfahren bei Dr. Ulrich Tamm Sommersemester 2003 Thema: Codierung von Bäumen (Prüfer Codes...) Inhalt: Einleitung, Begriffe Baumtypen und deren Kodierung Binäre Bäume Mehrwegbäume Prüfer
MehrMinimal spannende Bäume
Minimal spannende Bäume Ronny Harbich 4. Mai 006 (geändert 19. August 006) Vorwort Ich danke Patrick Bahr und meinem Bruder Steffen Harbich für die Unterstützung bei dieser Arbeit. Sie haben sowohl zu
Mehr13. Bäume: effektives Suchen und Sortieren
Schwerpunkte Aufgabe und Vorteile von Bäumen 13. Bäume: effektives Suchen und Sortieren Java-Beispiele: Baum.java Traverse.java TraverseTest.java Sortieren mit Bäumen Ausgabealgorithmen: - Preorder - Postorder
MehrEinführung in die Informatik 2
Einführung in die Informatik 2 Listen & Bäume Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 SvenKosub@uni-konstanzde Sprechstunde: Freitag, 14:00-15:00 Uhr, onv Sommersemester
MehrBäume. 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1
Bäume 2006 Jiri Spale, Algorithmen und Datenstrukturen - Bäume 1 Inhalt Grundbegriffe: Baum, Binärbaum Binäre Suchbäume (Definition) Typische Aufgaben Suchaufwand Löschen allgemein, Methode Schlüsseltransfer
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
MehrEinführung in die Informatik 2
Einführung in die Informatik 2 Mathematische Grundbegriffe Sven Kosub AG Algorithmik/Theorie komplexer Systeme Universität Konstanz E 202 Sven.Kosub@uni-konstanz.de Sprechstunde: Freitag, 12:30-14:00 Uhr,
Mehr4. 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
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. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/2, Folie 1 2014 Prof. Steffen Lange - HDa/FbI
Mehr15 G R A P H E N gerichtete graphen
15 G R A P H E N In den bisherigen Einheiten kamen schon an mehreren Stellen Diagramme und Bilder vor, in denen irgendwelche Gebilde durch Linien oder Pfeile miteinander verbunden waren. Man erinnere sich
MehrInformatik B Sommersemester Musterlösung zur Klausur vom
Informatik B Sommersemester 007 Musterlösung zur Klausur vom 0.07.007 Aufgabe : Graphen und Graphalgorithmen + + + () Punkte Für eine beliebige positive, ganze Zahl n definieren wir einen Graphen G n =
Mehr8. A & D - Heapsort. Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können.
8. A & D - Heapsort Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können. Genauer werden wir immer wieder benötigte Operationen durch Datenstrukturen unterstützen.
MehrGraph Paar (V,E) V: nichtleere Menge von Knoten (vertex) E: Menge von Kanten (edges): Relation (Verbindung) zwischen den Knoten
Graphentheorie Graph Paar (V,E) V: nichtleere Menge von Knoten (vertex) E: Menge von Kanten (edges): Relation (Verbindung) zwischen den Knoten gerichteter Graph (DiGraph (directed graph) E: Teilmenge E
MehrGeordnete Binärbäume
Geordnete Binärbäume Prof. Dr. Martin Wirsing in Zusammenarbeit mit Gilbert Beyer und Christian Kroiß http://www.pst.ifi.lmu.de/lehre/wise-09-10/infoeinf/ WS 09/10 Einführung in die Informatik: Programmierung
MehrFerienkurs zur algorithmischen diskreten Mathematik Kapitel 3: Minimal aufspannende Bäume und Matroide
Ferienkurs zur algorithmischen diskreten Mathematik Kapitel 3: Minimal aufspannende Bäume und Matroide Dipl-Math. Wolfgang Kinzner 3.4.2012 Kapitel 3: Minimal aufspannende Bäume und Matroide Minimal aufspannende
MehrWintersemester 2007/2008 Helmut Seidl Institut für Informatik TU München
Informatik 1 Wintersemester 2007/2008 Helmut Seidl Institut für Informatik TU München 1 Anwendung: Schreibtisch Operation: insert(task) 2 Anwendung: Schreibtisch An uns wird Arbeit delegiert... Operation:
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
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 13 (18.6.2014) Binäre Suchbäume IV (Rot Schwarz Bäume) Algorithmen und Komplexität Rot Schwarz Bäume Ziel: Binäre Suchbäume, welche immer
MehrLineare Differenzengleichungen
Lineare Differenzengleichungen Die Fibonacci-Zahlen F n sind definiert durch F 0 = 0 F 1 = 1 F n = F n 1 +F n 2 für n >= 2 Die letzte Zeile ist ein Beispiel für eine homogene lineare Differenzengleichung
MehrKürzeste Wege in Graphen. Orte mit Straßenverbindungen. Coma I Rolf Möhring
Kürzeste Wege in Graphen Orte mit Straßenverbindungen Orte als Knoten eines Graphen Straßenverbindungen als Kanten eines Graphen Ungerichteter Graph G = (V,E) Kanten Knoten Knotenmenge V = {,,n} oder {,,n
MehrNotizen zu Transformationen und Permutationen. T (A) = {f : A A}
Transformationen Notizen zu Transformationen und Permutationen Ist A eine Menge, so ist die Menge T (A) = {f : A A} bezüglich der Komposition (Hintereinanderausführung) als Operation und der identischen
MehrÜbung zur Vorlesung Algorithmische Geometrie
Übung zur Vorlesung Algorithmische Geometrie Dipl.-Math. Bastian Rieck Arbeitsgruppe Computergraphik und Visualisierung Interdisziplinäres Zentrum für Wissenschaftliches Rechnen 8. Mai 2012 B. Rieck (CoVis)
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
MehrIdee: 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
MehrInformatik II Vorlesung am D-BAUG der ETH Zürich
Informatik II Vorlesung am D-BAUG der ETH Zürich Vorlesung 9, 2.5.2016 [Nachtrag zu Vorlesung : Numerische Integration, Zusammenfassung Objektorientierte Programmierung] Dynamische Datenstrukturen II:
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 11 (4.6.2014) Binäre Suchbäume II Algorithmen und Komplexität Binäre Suchbäume Binäre Suchbäume müssen nicht immer so schön symmetrisch sein
MehrWas bisher geschah. 1. Zerlegung in monotone Polygone 2. Triangulierung der monotonen Teilpolygone
Was bisher geschah Motivation, Beispiele geometrische Objekte im R 2 : Punkt, Gerade, Halbebene, Strecke, Polygon, ebene Zerlegung in Regionen (planare Graphen) maschinelle Repräsentation geometrischer
MehrVerteilen von Bällen auf Urnen
Verteilen von Bällen auf Urnen Szenario: Wir verteilen n Bälle auf m Urnen, d.h. f : B U mit B = {b 1,..., b n } und U = {u 1,..., u m }. Dabei unterscheiden wir alle Kombinationen der folgenden Fälle
MehrKapitel 5: Minimale spannende Bäume Gliederung der Vorlesung
Gliederung der Vorlesung 1. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege. Minimale spannende Bäume. Färbungen und Cliquen. Traveling Salesman Problem. Flüsse in Netzwerken
MehrDas Briefträgerproblem
Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................
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?
MehrFormale Methoden 1. Gerhard Jäger 12. Dezember Uni Bielefeld, WS 2007/2008 1/22
1/22 Formale Methoden 1 Gerhard Jäger Gerhard.Jaeger@uni-bielefeld.de Uni Bielefeld, WS 2007/2008 12. Dezember 2007 2/22 Bäume Baumdiagramme Ein Baumdiagramm eines Satzes stellt drei Arten von Information
MehrGraphentheorie 1. Diskrete Strukturen. Sommersemester Uta Priss ZeLL, Ostfalia. Hausaufgaben Graph-Äquivalenz SetlX
Graphentheorie 1 Diskrete Strukturen Uta Priss ZeLL, Ostfalia Sommersemester 2016 Diskrete Strukturen Graphentheorie 1 Slide 1/19 Agenda Hausaufgaben Graph-Äquivalenz SetlX Diskrete Strukturen Graphentheorie
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
Mehr