Binomiale Heaps Christian John / Tobias Berger Nr.1
|
|
- Walther Amsel
- vor 6 Jahren
- Abrufe
Transkript
1 Christian John / Tobias Berger Nr.1
2 Gliederung: 1. Binomialer Baum 2. Binomialer Heap 3. Operationen auf Binomialen Heaps make-heap minimum(h) link(y,z) merge(h 1,h 2 ) Christian John / Tobias Berger Nr.2
3 1. Binomialer Baum = Basisstruktur für Definition: Für ein k>=0 definieren wir die Struktur des Binomialen Baumes: B 0 B k?1 ist ein Baum mit nur einem Knoten B k entsteht aus zwei Bäumen, indem man die Wurzel des einen Baumes zum Sohn des anderen macht Christian John / Tobias Berger Nr.3
4 B 0 B k B k B k? Christian John / Tobias Berger Nr.4
5 Verschmelzung Binomialer Bäume: Die Verschmelzung Binomialer Bäume erfolgt gleich der Addition von Binärzahlen, wobei die Anzahl der Knoten der Bäume in Binärzahlen dargestellt wird: + = B B B I0 + 0I0 = I Christian John / Tobias Berger Nr.5
6 Eigenschaften für Binomiale Bäume: B k B k besteht exakt aus 2 k Knoten hat die Höhe k es ergeben sich genau Knoten in der Tiefe i mit i=0,1,2,...,k die Wurzel besitzt Ausgangsgrad k und die Teilbäume von links B k?1? k? i nach rechts sind,...,?? B 0 Alle Knoten haben einen kleineren Grad als die Wurzel Christian John / Tobias Berger Nr.6
7 Beweise der Eigenschaften für Binomiale Bäume: B k besteht aus zwei Bäumen, also = 2 = 2 k da bei der Konstruktion von ein Baum Unterbaum der Wurzel des anderen B k?1 B k?1 gegenüber der von um genau 1 B k?1 B k Bk B k? 1 B k?1 wird, erhöht sich die Höhe von B k Christian John / Tobias Berger Nr.7
8 Beweise der Eigenschaften für Binomiale Bäume: Aufgrund der Konstruktion von ergibt sich die Anzahl der Knoten auf Höhe i als Summe der Anzahl der Knoten auf Höhe i in B k?1 B k plus Anzahl der Knoten auf Höhe i -1 in B k?1? k? 1?? i?? k? 1?? i? 1? Also:?? +?? =? k?? i? Christian John / Tobias Berger Nr.8
9 Beweise der Eigenschaften für Binomiale Bäume: die Konstruktion von Wurzel des rechten Teilbaumes verändert nur den Ausgangsgrad der. Dieser Grad war vor der Konstruktion k - 1 und ist nun k, da links ein Teilbaum hinzugekommen ist. Dieser Teilbaum ist anderen Unterbäume der Wurzel sind nach Voraussetzung B k? 2,..., B 0 B k B k?1 B k?1, und die Christian John / Tobias Berger Nr.9
10 Korollar: Der maximale Grad eines Knotens in einem Binomialen Baum, der n Knoten hat, ist ld n n = 2 k ld n = k ld n = log 2 n (Logarithmus zur Basis 2) Christian John / Tobias Berger Nr.10
11 2. Binomialer Heap = Eine Baumstruktur die sich aus Binomialen Bäumen zusammensetzt; jeder Knoten enthält einen Schlüssel Definition: Jeder dieser Bäume ist Heap-geordnet, das heißt, der Schlüssel eines Knotens ist kleiner/gleich der Schlüssel seiner Söhne. Es darf kein Baum mit gleichem Grad mehrfach vorhanden sein Christian John / Tobias Berger Nr.11
12 Zusammenhang zwischen Binomialem Heap und Binärzahlen: Ein Binomialer Heap, zusammengesetzt aus Binomialen Bäumen, lässt sich als Binärzahl verwalten! B 3 Ein Heap mit folgenden Bäumen,,,, lässt sich als 0 2 Binärzahl wie folgt schreiben: IIII Ein Baum mit vier Knoten kann als Binärzahl 0I00 dargestellt werden; wenn Bäume verschmelzen, gleicht dieses einer Addition von Binärzahlen. B B 1 B Christian John / Tobias Berger Nr.12
13 Ein Binomialer Heap mit n Knoten besteht aus höchstens?ld n?+1 Binomialen Bäumen: B B B 2 54 B 3 000I + 00I0 + 0I00 + I000 = IIII Christian John / Tobias Berger Nr.13
14 Repräsentation des Heap child 27 0 P key degree sibling Christian John / Tobias Berger Nr.14
15 3. Operationen auf 3.1 make-heap() Erzeugt einen leeren Heap. Ein leerer Heap wird einfach durch einen nil-zeiger repräsentiert Laufzeit:? (1) Christian John / Tobias Berger Nr.15
16 3.2 minimum(h) Liefert einen Zeiger auf den Knoten mit dem kleinsten Schlüssel im Heap h. Die Wurzeln der Binomialen Bäume werden also durchsucht. Laufzeit:? (ld n) Christian John / Tobias Berger Nr.16
17 minimum(h) min-ptr := nil; x := head[h]; min := maxint; while x <> nil do if key[x] < min then min := key[x]; min-ptr := x; endif; x := sibling[x]; endwhile; return min-ptr; Christian John / Tobias Berger Nr.17
18 3.3 link(y,z) Diese Funktion linkt drei Zeiger von zwei Knoten um; der Knoten y wird Sohn von z: y bekommt den bisherigen Sohn von z als Bruder, bevor y selber der Sohn von z wird. Laufzeit:? (1) Christian John / Tobias Berger Nr.18
19 link(y,z) p[y] := z; sibling[y] := child[z]; child[z] := y; degree[z] := degree[z] + 1; Christian John / Tobias Berger Nr.19
20 3.4 merge(h 1,h 2 ) Merge durchläuft beide Teilmengen sequentiell und erzeugt die Gesamtfolge sequentiell. Die Gesamtfolge ist kein Binomialer Heap. Laufzeit:? (ld n) Christian John / Tobias Berger Nr.20
21 merge(h 1, h 2 ) h-ptr := make-heap(); last-ptr := head[h]; x-ptr := head[h 1 ]; y-ptr := head[h 2 ]; while(x-ptr!= nil && y-ptr!= nil) if(degree[x-ptr]<=degree[y-ptr]) sibling[last-ptr] := x-ptr; x-ptr := sibling[x-ptr]; else sibling[last-ptr] := y-ptr; y-ptr := sibling[y-ptr]; last-ptr := sibling[y-ptr]; Christian John / Tobias Berger Nr.21
22 merge(h 1, h 2 ) 2.Teil while(x-ptr!= nil) sibling[last-ptr] := x-ptr; x-ptr := sibling[x-ptr]; while(y-ptr!= nil) sibling[last-ptr] := y-ptr; y-ptr := sibling[y-ptr]; Christian John / Tobias Berger Nr.22
23 Beispiel der union-funktion: Heap[5]: Heap[7]: Christian John / Tobias Berger Nr.23
24 1. Inhalt 1. Operationen Wiederholungen 1.1 Binomialer Heap 1.2 minimum(h) 1.3 Datenstruktur eines Heapelements 1.3 link (y,z) 1.4 merge(h 1,h 2 ) 2. weitere Operationen 2.1 union(h 1,h 2 ) 2.2 insert (h,x) 2.3 extract_min(h) 2.4 decrease key(h,x,k) 2.5 delete key(h,x) 3. Anwendungsbeispiel Christian John / Tobias Berger Nr.24
25 Operationen Wiederholungen Christian John / Tobias Berger Nr.25
26 1. Operationen Wiederholungen 1.1 Binomialer Heap B 0 B 1 B 2 B = Christian John / Tobias Berger Nr.26
27 1. Operationen Wiederholungen 1.2 Datenstruktur eines Heapelements parent key degree child sibling Christian John / Tobias Berger Nr.27
28 1. Operationen Wiederholungen 1.2 Datenstruktur eines Heapelements Christian John / Tobias Berger Nr.28
29 1. Operationen Wiederholungen 1.2 minimum(h) Liefert einen Zeiger auf den Knoten mit dem kleinsten Schlüssel im Heap h. Die Wurzeln der Binomialen Bäume werden also durchsucht. Laufzeit: O (ld n) Christian John / Tobias Berger Nr.29
30 1. Operationen Wiederholungen 1.3 link (y,z) Diese Funktion linkt drei Zeiger von zwei Knoten um; der Knoten y wird Sohn von z; y bekommt den bisherigen Sohn von z als Bruder, bevor y selber der Sohn von z wird. Laufzeit: O (1) link(y,z) p[y] := z; sibling[y] := child[z]; child[z] := y; degree[z] := degree[z] + 1; Christian John / Tobias Berger Nr.30
31 1. Operationen Wiederholungen 1.4 merge(h 1,h 2 ) merge(h 1,h 2 ) durchläuft beide Teilmengen sequentiell und erzeugt die Gesamtfolge sequentiell. Die Gesamtfolge ist kein Binomialer Heap. Laufzeit: O (ld n) Christian John / Tobias Berger Nr.31
32 weitere Operationen Christian John / Tobias Berger Nr.32
33 2. weitere Operationen 2.1 union(h 1,h 2 ) verbindet die die zwei Heaps h1 und h2 und gibt den neuen Head h zurück benutzt die bekannten Funktionen: - make() - link() - merge() Laufzeit: O (ld n) (siehe später) Beispiel: Christian John / Tobias Berger Nr.33
34 2. weitere Operationen 2.1 union(h 1,h 2 ) - BEISPIEL Heap[5]: Heap[7]: Heap[13]: merge() step1 step2 step3 Heap[13]: Heap[13]: Heap[13]: Beispiel einer union-funktion Christian John / Tobias Berger Nr.34
35 2. weitere Operationen 2.1 union(h 1,h 2 ) - PSEUDO CODE h := make-heap() head[h] := merge(h 1,h 2 ) if head[h] = nil then return h prev-x := nil x := head[h] next-x := sibling[x] while next-x <> nil do if (degree[x] <> degree[next-x]) or (sibling[next-x] <> nil and degree[sibling[next-x]] = degree[x]) then prev-x := x x := next-x else if key[x] <= key[next-x] then sibling[x] := sibling[next-x] link(next-x,x) else if prev-x = NIL then head[h] := next-x else sibling[prev-x] := next-x link(x,next-x) x := next-x next-x := sibling[x] return h Christian John / Tobias Berger Nr.35
36 2. weitere Operationen 2.1 union(h 1,h 2 ) - AUFWAND Aufwand : make_heap() heap_merge() while() O(1) O(ld n) O(1) * (?ldn 1?+?ldn 2?+ 2 ) union(h 1,h 2 ) O(ld n) Christian John / Tobias Berger Nr.36
37 2. weitere Operationen 2.2 insert(h,x) Stützt sich auf union ab. Es wird ein Heap h mit x als einzigem Knoten erzeugt und mit h vereinigt. Laufzeit: O (ld n) Christian John / Tobias Berger Nr.37
38 2. weitere Operationen 2.2 insert(h,x) - PSEUDO CODE insert(h,x) h := make-heap(); p[x] := nil; child[x] := nil; sibling := nil; degree[x] := 0; head[h ] := x; h := union(h, h ); return h; Christian John / Tobias Berger Nr.38
39 2. weitere Operationen 2.3 extract_min(h) Liefert einen Verweis auf den Knoten mit dem kleinsten Schlüssel und entfernt diesen aus dem Heap. Laufzeit: O (ld n) Christian John / Tobias Berger Nr.39
40 2. weitere Operationen 2.3 extract_min(h) - PSEUDO CODE extract_min(h) 1 finde die Wurzel x mit minimalem Schlüssel in der Wurzelliste von h und entferne x aus der Wurzelliste; 2 h := make-heap(); 3 kehre die Reihenfolge der verketteten Söhne von x um und setzte head[h ] auf den Kopf der umgedrehten Liste; 4 h := union(h, h ); 5 return h Laufzeit: O(ld n) Christian John / Tobias Berger Nr.40
41 2. weitere Operationen 2.3 extract_min(h) - BEISPIEL Heap[7]: Heap[3]: Heap[3]: x x.child Heap[3]: union() Christian John / Tobias Berger Nr.41
42 2. weitere Operationen 2.3 extract_min(h) - BEISPIEL x0 1 3 x.child Christian John / Tobias Berger Nr.42
43 2. weitere Operationen 2.3 extract_min(h) - BEISPIEL x.child Heap[] nil temp Heap[] Heap[] x.child x.child Heap[] x.child Heap[].sibling x.child.sibling temp x.child Heap[] x.child nil Heap[] Christian John / Tobias Berger Nr.43
44 2. weitere Operationen 2.3 extract_min(h) - BEISPIEL x.child Heap[] temp x.child Heap[] nil temp temp Heap[] nil Heap[] x.child x.child Heap[] temp x.child x.child.sibling Heap[].sibling temp x.child Heap[] nil temp nil Christian John / Tobias Berger Nr.44
45 2. weitere Operationen 2.4 decrease_key(h,x,k) Gegeben: Element z, dessen Schlüssel man verkleinern will Wenn der neue Wert k kleiner ist als der bisherige x, wird z so oft mit seinem Vater getauscht, bis der Wert des Vater kleiner ist als k oder z die Wurzel ist. Dieses wird gemacht um die Heapstruktur wieder herzustellen. Laufzeit: O(ld n) Christian John / Tobias Berger Nr.45
46 2. weitere Operationen 2.4 decrease_key(h,x,k) if k > key[x] then error new key is greater than current key key[x] k y x z p[y] = while z nil and key[y] < key[z] do exchange key[y] key[z] //if y and z have satellite fields,exchange them,too y z z p[y] Christian John / Tobias Berger Nr.46
47 2. weitere Operationen 2.4 decrease_key(h,x,k) - BEISPIEL Christian John / Tobias Berger Nr.47
48 2. weitere Operationen 2.5 delete_key(h,x) Gegeben: Element x, welches wir löschen wollen Setze Wert von z auf - decrease_key() delete_minimum Laufzeit: O(ld n) Christian John / Tobias Berger Nr.48
49 Anwendungsbeispiel Christian John / Tobias Berger Nr.49
50 3. Anwendungsbeispiel 3.1 minimal spannende Bäume D 2 3 Gesucht: minimal spannender Baum möglich mit binomialen Heaps? E 4 C A 6 B Christian John / Tobias Berger Nr.50
51 3. Anwendungsbeispiel 3.1 minimal spannende Bäume 2 D 3 E 4 C A 6 B A 6 1 B 8 5 C 3 D 2 E 1 A - B A - E B - C B - E C - D D - E E - A A - C B - A C - A C - E D - C E - D E - B 8 4 C - B E - C Christian John / Tobias Berger Nr.51
52 3. Anwendungsbeispiel 3.1 minimal spannende Bäume - PSEUDOCODE mst() T <- nil Aufwand O( E * ld( E ) ) foreach Knoten v i? V E i <- make_heap() union(e i,{(v i,v):v? E} anz = V while anz > 1 e = extract_min(e 1 ) if(e.anf, e.end liegen in versch Zuskomp) anz = anz-1 T <- T+{e} union (E 1, E i ) return T Christian John / Tobias Berger Nr.52
53 3. Anwendungsbeispiel 3.1 minimal spannende Bäume 2 D 3 E 4 C A 6 B A 6 1 B 8 5 C 3 D 2 E 1 A - B A - E B - C B - E C - D D - E E - A A - C B - A C - A C - E D - C E - D E - B 8 4 anz = 5 C - B E - C Christian John / Tobias Berger Nr.53
54 3. Anwendungsbeispiel 3.1 minimal spannende Bäume A 6 A - B 1 E - A B 8 B - C 5 B - E C 3 C - D D 2 D - E E nil A - C E - D E - B nicht in B - A C - A C - E D - C 4 die Liste 8 anz = 4 E - C C - B A 5 E - B 2 E - D B 8 B - C 5 B - E C 3 C - D D 2 D - E E nil A - B E - C B - A C - A C - E D - C anz = 4 7 A - C 8 C - B Christian John / Tobias Berger Nr.54
55 3. Anwendungsbeispiel 3.1 minimal spannende Bäume A 2 D - E 4 E - C B 8 B - C 5 B - E C 3 C - D D nil E nil D - C A - B E - B nicht in B - A C - A C - E 7 die Liste 8 anz = 3 A - C C - B A 3 D - C 4 E - C B 8 B - C 5 B - E C 3 C - D D nil E nil A - B E - B B - A C - A C - E anz = 3 7 A - C 8 C - B Christian John / Tobias Berger Nr.55
56 3. Anwendungsbeispiel 3.1 minimal spannende Bäume A anz = 2 3 C - D B 8 B - C 5 B - E C nil D nil E nil E - C C - A C - E nicht in B - A die Liste A - B 7 A - C E - B C - B A 4 C - E 7 C - A E - C 5 B 8 B - C 5 B - E 6 C D nil nil anz = 2 C - B A - B 7 A - C E - B nicht in die Liste B - A E nil Christian John / Tobias Berger Nr.56
57 3. Anwendungsbeispiel 3.1 minimal spannende Bäume A 4 C - E 6 A - B B 8 B - C 5 B - E C nil D nil E nil E - B C - A A - C nicht in B - A anz = 2 8 C - B die Liste A 5 E - B 6 A - B B 8 B - C 5 B - E C nil D nil E nil 7 C - A 7 A - C 6 B - A anz =2 8 C - B Christian John / Tobias Berger Nr.57
58 3. Anwendungsbeispiel 3.1 minimal spannende Bäume A 8 B - C 5 B - E 6 A - B B nil C nil D nil E nil 6 B - A 7 C - A 7 A - C anz =1 8 C - B 2 D 3 E C 1 5 minimal spannender Baum A B Christian John / Tobias Berger Nr.58
59 Quellen: s.pdf ausarbeitungen/marquardt.ps.gz Misc/merzenich98.ps Christian John / Tobias Berger Nr.59
13. Binäre Suchbäume
1. Binäre Suchbäume Binäre Suchbäume realiesieren Wörterbücher. Sie unterstützen die Operationen 1. Einfügen (Insert) 2. Entfernen (Delete). Suchen (Search) 4. Maximum/Minimum-Suche 5. Vorgänger (Predecessor),
MehrDatenstruktur, die viele Operationen dynamischer Mengen unterstützt
Algorithmen und Datenstrukturen 265 10 Binäre Suchbäume Suchbäume Datenstruktur, die viele Operationen dynamischer Mengen unterstützt Kann als Wörterbuch, aber auch zu mehr eingesetzt werden (Prioritätsschlange)
MehrSuchen und Sortieren Sortieren. Heaps
Suchen und Heaps (Folie 245, Seite 63 im Skript) 3 7 21 10 17 31 49 28 14 35 24 42 38 Definition Ein Heap ist ein Binärbaum, der die Heapeigenschaft hat (Kinder sind größer als der Vater), bis auf die
Mehr11.1 Grundlagen - Denitionen
11 Binärbäume 11.1 Grundlagen - Denitionen Denition: Ein Baum ist eine Menge, die durch eine sog. Nachfolgerrelation strukturiert ist. In einem Baum gilt: (I) (II) 1 Knoten w ohne VATER(w), das ist die
MehrEffiziente Algorithmen und Datenstrukturen I. Kapitel 9: Minimale Spannbäume
Effiziente Algorithmen und Datenstrukturen I Kapitel 9: Minimale Spannbäume Christian Scheideler WS 008 19.0.009 Kapitel 9 1 Minimaler Spannbaum Zentrale Frage: Welche Kanten muss ich nehmen, um mit minimalen
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
Mehr1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert
Inhalt Einführung 1. Arrays 1. Array unsortiert 2. Array sortiert 3. Heap 2. Listen 1. Einfach verkettete Liste unsortiert 2. Einfach verkettete Liste sortiert 3. Doppelt verkettete Liste sortiert 3. Bäume
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
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
Mehr- k Maximalwerte aus Menge mit n >> k Elementen (Rangfolgebestimmung von Suchmaschinen!) Die typische Operationen:
6 Partiell geordnete binäre Bäume: Heap (Haufen) Motivation für manchen Anwendungen nur partielle Ordnung der Elemente statt vollständiger nötig, z.b. - Prioritätsschlange: nur das minimale (oder maximale)
MehrDatenstrukturen & Algorithmen Lösungen zu Blatt 6 FS 14
Eidgenössische Technische Hochschule Zürich Ecole polytechnique fédérale de Zurich Politecnico federale di Zurigo Federal Institute of Technology at Zurich Institut für Theoretische Informatik 2. April
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
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.
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
MehrDynamische Mengen. Realisierungen durch Bäume
Dynamische Mengen Eine dynamische Menge ist eine Datenstruktur, die eine Menge von Objekten verwaltet. Jedes Objekt x trägt einen eindeutigen Schlüssel key[x]. Die Datenstruktur soll mindestens die folgenden
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 10 (3.6.2014) Binäre Suchbäume I Algorithmen und Komplexität Zusätzliche Dictionary Operationen Dictionary: Zusätzliche mögliche Operationen:
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
MehrBä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
MehrTutorium Algorithmen & Datenstrukturen
June 16, 2010 Binärer Baum Binärer Baum enthält keine Knoten (NIL) besteht aus drei disjunkten Knotenmengen: einem Wurzelknoten, einem binären Baum als linken Unterbaum und einem binären Baum als rechten
MehrAlgorithmen und Datenstrukturen Suchbaum
Algorithmen und Datenstrukturen Suchbaum Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Motivation Datenstruktur zur Repräsentation dynamischer Mengen
MehrTermine für Übungstests. Kap. 3 Sortieren HeapSort ff Priority Queues. Motivation. Überblick. Analyse SiftDown
Kap. Sortieren..5 HeapSort ff..6 Priority Queues Professor Dr. Vorlesung am Do 7.5. entfällt wegen FVV um Uhr Lehrstuhl für Algorithm Engineering, LS Fakultät für nformatik, TU Dortmund 7. VO DAP SS 009
MehrSortierte Folgen 250
Sortierte Folgen 250 Sortierte Folgen: he 1,...,e n i mit e 1 apple applee n kennzeichnende Funktion: M.locate(k):= addressof min{e 2 M : e k} Navigations Datenstruktur 2 3 5 7 11 13 17 19 00 Annahme:
MehrDatenstrukturen und Algorithmen
Datenstrukturen und Algorithmen VO 708.031 Bäume robert.legenstein@igi.tugraz.at 1 Inhalt der Vorlesung 1. Motivation, Einführung, Grundlagen 2. Algorithmische Grundprinzipien 3. Sortierverfahren 4. Halden
MehrKapitel 9 Suchalgorithmen
Kapitel 9 Suchalgorithmen Suchverfahren: Verfahren, das in einem Suchraum nach Mustern oder Objekten mit bestimmten Eigenschaften sucht. Vielfältige Anwendungsbereiche für Suchverfahren: u.a. Suchen in
Mehr368 4 Algorithmen und Datenstrukturen
Kap04.fm Seite 368 Dienstag, 7. September 2010 1:51 13 368 4 Algorithmen und Datenstrukturen Java-Klassen Die ist die Klasse Object, ein Pfeil von Klasse A nach Klasse B bedeutet Bextends A, d.h. B ist
Mehr3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1
3.2 Binäre Suche Beispiel 6.5.1: Intervallschachtelung (oder binäre Suche) (Hier ist n die Anzahl der Elemente im Feld!) Ein Feld A: array (1..n) of Integer sei gegeben. Das Feld sei sortiert, d.h.: A(i)
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
MehrÜbersicht. Rot-schwarz Bäume. Rot-schwarz Bäume. Beispiel. Eigenschaften. Datenstrukturen & Algorithmen. Rot-schwarz Bäume Eigenschaften Einfügen
Datenstrukturen & Algorithmen Übersicht Rot-schwarz Bäume Eigenschaften Einfügen Matthias Zwicker Universität Bern Frühling 2009 2 Rot-schwarz Bäume Binäre Suchbäume sind nur effizient wenn Höhe des Baumes
MehrKap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis
Kap. 4.4: B-Bäume Kap. 4.5: Dictionaries in der Praxis Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 13./14. VO DAP2 SS 2009 2./4. Juni 2009 1 2. Übungstest
MehrBeispiellösungen zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 6
Robert Elsässer u.v.a. Paderborn, 29. Mai 2008 Beispiellösungen zu den Übungen Datenstrukturen und Algorithmen SS 2008 Blatt 6 Aufgabe 1 (6 Punkte): Zunächst sollte klar sein, daß ein vollständiger Binärer
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
MehrInformatik II Bäume. Beispiele. G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de. Stammbaum. Stammbaum. Stammbaum
lausthal Beispiele Stammbaum Informatik II. Zachmann lausthal University, ermany zach@in.tu-clausthal.de. Zachmann Informatik - SS 06 Stammbaum Stammbaum / Parse tree, Rekursionsbaum Parse tree, Rekursionsbaum
MehrBalancierte Bäume. Minimale Knotenanzahl von AVL-Bäumen. AVL-Bäume. Definition für "balanciert":
Balancierte Bäume Aufwand, ein Element zu finden, entspricht der Tiefe des gefundenen Knotens im worst case = Tiefe des Baumes liegt zwischen log N und N Definition für "balanciert": es gibt verschiedene
MehrAVL-Bäume Analyse. Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl:
AVL-Bäume Analyse (Folie 85, Seite 39 im Skript) Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl: 0 falls n = 0 F n = 1 falls
MehrErinnerung VL
Erinnerung VL 30.05.2016 Radix-Sort, Abschluss Sortieren Prioritätslisten: Warteschlange mit Prioritäten deletemin: kleinstes Element rausnehmen insert: Element einfügen Binäre Heaps als Implementierung
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:
MehrB-Bäume I. Algorithmen und Datenstrukturen 220 DATABASE SYSTEMS GROUP
B-Bäume I Annahme: Sei die Anzahl der Objekte und damit der Datensätze. Das Datenvolumen ist zu groß, um im Hauptspeicher gehalten zu werden, z.b. 10. Datensätze auf externen Speicher auslagern, z.b. Festplatte
MehrAlgorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 2015/16 12. Vorlesung Hashing Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Übungen Begründen Sie grundsätzlich alle Behauptungen außer die Aufgabe
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
MehrKapitel : Andere dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2012/13. Prof. Dr. Sándor Fekete
Kapitel 4.8-4.11: Andere dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2012/13 Prof. Dr. Sándor Fekete 4.6 AVL-Bäume 4.8 Rot-Schwarz-Bäume Idee: Verwende Farben, um den Baum vertikal zu
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).
MehrKapitel : Andere dynamische Datenstrukturen. Algorithmen und Datenstrukturen WS 2013/14. Prof. Dr. Sándor Fekete
Kapitel 4.8-4.11: Andere dynamische Datenstrukturen Algorithmen und Datenstrukturen WS 2013/14 Prof. Dr. Sándor Fekete 1 4.6 AVL-Bäume 2 4.8 Rot-Schwarz-Bäume Rudolf Bayer Idee: Verwende Farben, um den
Mehr12 (2-4)-Bäume Implementierbare Funktionen. (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang
12 (2-4)-Bäume (2-4)-Bäume sind durch folgende Eigenschaften deniert: 1. Alle Äste sind gleich lang 2. Die Ordnung (maximale Anzahl der Söhne eines Knotens) ist gleich 4 3. Innere Knoten haben 2 Söhne
Mehr4. Lernen von Entscheidungsbäumen. Klassifikation mit Entscheidungsbäumen. Entscheidungsbaum
4. Lernen von Entscheidungsbäumen Klassifikation mit Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch /Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse zugeordnet werden.
MehrBinäre Bäume Darstellung und Traversierung
Binäre Bäume Darstellung und Traversierung Name Frank Bollwig Matrikel-Nr. 2770085 E-Mail fb641378@inf.tu-dresden.de Datum 15. November 2001 0. Vorbemerkungen... 3 1. Terminologie binärer Bäume... 4 2.
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
Mehr15 Optimales Kodieren
15 Optimales Kodieren Es soll ein optimaler Kodierer C(T ) entworfen werden, welcher eine Information (z.b. Text T ) mit möglichst geringer Bitanzahl eindeutig überträgt. Die Anforderungen an den optimalen
Mehr3. Ü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
MehrFelix Brandt, Jan Johannsen. Vorlesung im Wintersemester 2008/09
Felix Brandt, Jan Johannsen Vorlesung im Wintersemester 2008/09 Übersicht Übersicht Definition Ein Matching in G = (V, E) ist eine Menge M E mit e 1 e 2 = für e 1, e 2 M, e 1 e 2 Ein Matching M ist perfekt,
Mehr6-1 A. Schwill Grundlagen der Programmierung II SS 2005
6-1 A. Schwill Grundlagen der Programmierung II SS 25 6. Suchen Suchen = Tätigkeit, in einem vorgegebenen Datenbestand alle Objekte zu ermitteln, die eine best. Bedingung, das Suchkriterium, erfüllen und
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
MehrKapiteltests zum Leitprogramm Binäre Suchbäume
Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm
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.
MehrSuchen und Sortieren
(Folie 69, Seite 36 im Skript) 5 6 1 4 Als assoziatives Array geeignet Schlüssel aus geordneter Menge Linke Kinder kleiner, rechte Kinder größer als Elternknoten Externe und interne Knoten Externe Knoten
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
MehrSuchbäume. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung
Suchbäume Annabelle Klarl Zentralübung zur Vorlesung Einführung in die Informatik: http://www.pst.ifi.lmu.de/lehre/wise-13-14/infoeinf WS13/14 Action required now 1. Smartphone: installiere die App "socrative
MehrAlle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)).
8. Untere Schranken für Sortieren Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)). Werden nun gemeinsame Eigenschaften dieser Algorithmen untersuchen. Fassen gemeinsame
Mehr2. Lernen von Entscheidungsbäumen
2. Lernen von Entscheidungsbäumen Entscheidungsbäume 2. Lernen von Entscheidungsbäumen Gegeben sei eine Menge von Objekten, die durch Attribut/Wert- Paare beschrieben sind. Jedes Objekt kann einer Klasse
Mehrt r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )
Definition B : Menge der binären Bäume, rekursiv definiert durch die Regeln: ist ein binärer Baum sind t l, t r binäre Bäume, so ist auch t =, t l, t r ein binärer Baum nur das, was durch die beiden vorigen
MehrQuadtrees. Christian Höner zu Siederdissen
Quadtrees Christian Höner zu Siederdissen Quadtrees Zum Verständnis benötigt... Was sind Quadtrees Datenstruktur Wofür Quadtrees Operationen auf dem Baum Vor- und Nachteile (spezialisierte Formen) Zum
MehrKap. 4.2: Binäre Suchbäume
Kap. 4.2: Binäre Suchbäume Professor Dr. Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 11. VO DAP2 SS 2009 26. Mai 2009 1 Zusätzliche Lernraumbetreuung Morteza Monemizadeh:
MehrProgrammiertechnik II
2007 Martin v. Löwis Priority Queues and Heapsort 2007 Martin v. Löwis 2 Priority Queue Abstrakter Datentyp Inhalt: Elemente mit Priorität Operationen: Einfügen: Angabe des Elements und seiner Priorität
MehrKapitel 9 Suchalgorithmen
Kapitel 9 Suchalgorithmen Technische Universität München Suchverfahren: Verfahren, das in einem Suchraum nach Mustern oder Objekten mit bestimmten Eigenschaften sucht. Vielfältige Anwendungsbereiche für
MehrVorrangswarteschlangen
Vorrangswarteschlangen Elementare Implementierungen Binäre Heaps Index-Heaps Binomial Queues M.O.Franz; Dezember 2007 Algorithmen und Datenstrukturen - Vorrangswarteschlangen 2-1 Vorrangswarteschlangen
MehrAlgorithmen und Datenstrukturen Balancierte Suchbäume
Algorithmen und Datenstrukturen Balancierte Suchbäume Matthias Teschner Graphische Datenverarbeitung Institut für Informatik Universität Freiburg SS 12 Überblick Einführung Einfügen und Löschen Einfügen
MehrBäume. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 10: Collections 4. Inhalt. Bäume. Einführung. Bäume.
Universität Osnabrück 1 Bäume 3 - Objektorientierte Programmierung in Java Vorlesung 10: Collections 4 Einführung Bäume sind verallgemeinerte Listenstrukturen Lineare Liste Jedes Element hat höchstens
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
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
MehrDynamisches Huffman-Verfahren
Dynamisches Huffman-Verfahren - Adaptive Huffman Coding - von Michael Brückner 1. Einleitung 2. Der Huffman-Algorithmus 3. Übergang zu einem dynamischen Verfahren 4. Der FGK-Algorithmus 5. Überblick über
MehrInformatik II Fibonacci-Heaps & Amortisierte Komplexität
lausthal Informatik II Fibonacci-Heaps & Amortisierte Komplexität. Zachmann lausthal University, ermany zach@in.tu-clausthal.de Motivation für amortisierte Laufzeit Betrachte Stack mit Operationen push,
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
MehrWie beim letzten Mal - bitte besucht: http://pingo.upb.de/549170 Ihr seid gleich wieder gefragt... Übung Algorithmen I 4.5.16 Lukas Barth lukas.barth@kit.edu (Mit Folien von Julian Arz, Timo Bingmann,
MehrRekurrenzen T(n) = T(n 1) + N beschreibt Laufzeitverhalten eines rekursiven Algorithmus
Algorithmen und Datenstrukturen Übung Rekurrenzen T(n) = T(n ) + N beschreibt Laufzeitverhalten eines rekursiven Algorithmus Bsp. Fibunacci F(n) = F(n ) + F(n ) N F(0) = F() = F(N) rekursive Aufrufe,8
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. Hashing 6. Algorithmische Geometrie 4/6, Folie 1 2014 Prof. Steffen Lange - HDa/FbI
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
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
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
MehrHöhe eines B + -Baums
Höhe eines B + -Baums Anzahl der Blätter bei minimaler Belegung Anzahl von (eindeutigen) Elementen bei minimaler Belegung Anzahl der Blätter bei maximaler Belegung Anzahl von Elementen bei maximaler Belegung
MehrIn diesem Kapitel behandeln wir erste Algorithmen mit dynamischen Strukturen, wie Bäume und Graphen. 1. Bäume Grundlagen...
Bäume und Graphen In diesem Kapitel behandeln wir erste Algorithmen mit dynamischen Strukturen, wie Bäume und Graphen. Inhalt 1. Bäume... 1.1. Grundlagen... 1.. Repräsentation von Binärbäumen... 9 1..1.
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
MehrProgrammierung und Modellierung
Programmierung und Modellierung Terme, Suchbäume und Pattern Matching Martin Wirsing in Zusammenarbeit mit Moritz Hammer SS 2009 2 Inhalt Kap. 7 Benutzerdefinierte Datentypen 7. Binärer Suchbaum 8. Anwendung:
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,...
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 Kapitel 7 Dynamische Mengen, das Suchproblem &
Algorithmen und Datenstrukturen Kapitel 7 Dynamische Mengen, das Suchproblem & Frank Heitmann heitmann@informatik.uni-hamburg.de 25. November 2015 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/122
Mehr2.5.1 Binäre Suchbäume Optimale Suchbäume Balancierte Bäume Skip-Listen Union-Find-Strukturen
2.5 Bäume 2.5.1 Binäre Suchbäume 2.5.2 Optimale Suchbäume 2.5.3 Balancierte Bäume 2.5.4 Skip-Listen 2.5.5 Union-Find-Strukturen 1 Balancierte Bäume Nachteil bei normalen Suchbäumen: Worst-case Aufwand
MehrKONSTRUKTION VON ROT-SCHWARZ-BÄUMEN
KONSTRUKTION VON ROT-SCHWARZ-BÄUMEN RALF HINZE Institut für Informatik III Universität Bonn Email: ralf@informatik.uni-bonn.de Homepage: http://www.informatik.uni-bonn.de/~ralf Februar, 2001 Binäre Suchbäume
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
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,
MehrSeminarausarbeitung Entwurf und Analyse von Datenstrukturen. Splay Trees. Mirco Lukas und Alexander Werthmann. Datum: 26.06.2013
Julius-Maximilians-Universität Würzburg Institut für Informatik Lehrstuhl für Informatik I Effiziente Algorithmen und wissensbasierte Systeme Seminarausarbeitung Entwurf und Analyse von Datenstrukturen
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.
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Elementare Datenstrukturen für dynamische Mengen Stapel & Warteschlangen Verkettete Listen Bäume Anwendungsbeispiel:
MehrInformatik II. PVK Part1 Severin Wischmann wiseveri@student.ethz.ch n.ethz.ch/~wiseveri
Informatik II PVK Part1 Severin Wischmann wiseveri@student.ethz.ch n.ethz.ch/~wiseveri KAUM JAVA Kaum Java Viel Zeit wird für Java-spezifisches Wissen benützt Wenig wichtig für Prüfung Letztjähriger Assistent
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
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
Mehr9.4 Binäre Suchbäume. Xiaoyi Jiang Informatik II Datenstrukturen und Algorithmen
9.4 Binäre Suchbäume Erweiterung: Einfügen an der Wurzel Standardimplementierung: Der neue Schlüssel wird am Ende des Suchpfades angefügt (natürlich, weil zuerst festgestellt werden muss, ob der Schlüssel
MehrAbschnitt: Algorithmendesign und Laufzeitanalyse
Abschnitt: Algorithmendesign und Laufzeitanalyse Definition Divide-and-Conquer Paradigma Divide-and-Conquer Algorithmen verwenden die Strategien 1 Divide: Teile das Problem rekursiv in Subproblem gleicher
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
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
MehrTeil II: Prioritätslisten (Priority Queues)
Teil II: Prioritätslisten (Priority Queues)! Definition und Anwendungen! Binäre Heaps! Index-Heaps mit change- und remove-operation! Binomiale Heaps mit merge-operation Prof. Dr. O. Bittel, HTWG Konstanz
MehrFolge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12
Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben
Mehr