7 Sortieren in linearer Zeit
|
|
- Volker Waldfogel
- vor 6 Jahren
- Abrufe
Transkript
1 lgorithmen und Datenstrukturen Sortieren in linearer Zeit Wie schnell ist Sortieren möglich? isher: verschiedene lgorithmen, welche n Zahlen in O(n log n) Zeit sortieren. Gemeinsamkeit: Sortierung beruht auf paarweisen Vergleichen der Eingabeelemente. Man nennt Verfahren dieser rt vergleichende Sortierverfahren. In bschnitt. zeigen wir, dass vergleichende Sortierverfahren im ungünstigsten Fall Ω(n log n) Vergleiche ausführen müssen, um n Elemente zu sortieren. Damit sind Mergesort und Heapsort asymptotisch optimal. In den folgenden bschnitten werden drei Sortierverfahren vorgestellt, welche in linearer Zeit sortieren. Diese verwenden andere Operationen als Vergleiche. Sortieren in linearer Zeit TU ergakademie Freiberg, WS /
2 lgorithmen und Datenstrukturen. Untere Schranken für Sortierverfahren Vergleichendes Sortieren: Information über Eingabefeld a, a,..., a n nur durch paarweise Vergleiche a i < a j, a i a j, a i = a j, a i a j, oder a i > a j, ohne bspw. den Wert der Elemente zu berücksichtigen. Ohne Einschränkung: Eingabelemente paarweise verschieden, sodass Prüfung auf Gleichheit entfällt. Damit sind alle weiteren Vergleiche äquivalent, betrachte also ausschließlich Vergleiche der Form a i a j.. Untere Schranken für Sortierverfahren TU ergakademie Freiberg, WS /
3 lgorithmen und Datenstrukturen Entscheidungsbäume Ein Entscheidungsbaum ist ein voller binärer aum, der die von einem Sortierverfahren durchgeführten Vergleiche und Entscheidungen repräsentiert. lle anderen spekte des Sortieralgorithmus (Datenbewegung, Steuerung) werden dabei wegabstrahiert. innere Knoten: ezeichnung i : j ( i, j n) steht für Vergleich a i a j ; linker Teilbaum entspricht Fortgang des lgorithmus falls a i a j, rechter Teilbaum dem von a i > a j. lätter: jedem latt entspricht die zur Sortierung der Eingabefolge erforderliche Permutation π(), π(),..., π(n). Jede usführung des lgorithmus entspricht ein Weg von der Wurzel zu einem latt. n jedem inneren Knoten verzweigt der lgorithmus in bhängigkeit von der bis zu dieser Stelle angesammelten Information.. Untere Schranken für Sortierverfahren TU ergakademie Freiberg, WS /
4 lgorithmen und Datenstrukturen : > : : > >,, :,, : > >,,,,,,,, Entscheidungsbaum für Insertion-Sort angewandt auf dreielementiges Eingabefeld. Die ezeichnung i : j in einem inneren Knoten steht für den Vergleich a i a j, ein latt mit der Permutation π(), π(),..., π(n) steht für eine endgültige Sortierreihenfolge a π() a π() a π(n). Der hervorgehobene Weg folgt den Entscheidungen bei der Eingabe a =, a =, a =.. Untere Schranken für Sortierverfahren TU ergakademie Freiberg, WS /
5 lgorithmen und Datenstrukturen Jedes vergleichende Sortierverfahren muss alle n! Permutationen eines n- elementigen Eingabefeldes erzeugen können. Deshalb: Der zugehörige Entscheidungsbaum muss zu jeder dieser Permutationen ein latt enthalten. Jedes dieser lätter muss von der Wurzel durch eine mögliche usführung des lgorithmus erreichbar sein. Wir betrachten daher nur Entscheidungsbäume, in denen jede Permutation als erreichbares latt auftritt.. Untere Schranken für Sortierverfahren TU ergakademie Freiberg, WS /
6 lgorithmen und Datenstrukturen Eine untere Schranke für den ungünstigsten Fall Die größtmögliche nzahl erforderlicher Vergleiche eines vergleichenden Sortierverfahrens ist die Länge des längsten Weges in dessen Entscheidungsbaum von der Wurzel zu einem latt. Eine untere Schranke für die usführungszeit eines vergleichenden Sortierverfahrens ist daher gegeben durch eine untere Schranke für die Höhe aller Entscheidungsbäume, in denen jede Permutation als erreichbares latt auftritt. (Z.. Insertion-Sort Θ(n ), Merge-Sort Θ(n log n). Satz. Ein vergleichendes Sortierverfahren benötigt im ungünstigsten Fall Ω(n log n) Vergleiche. Korollar. Heapsort und Merge-Sort sind asymptotisch optimale vergleichende Sortierverfahren.. Untere Schranken für Sortierverfahren TU ergakademie Freiberg, WS /
7 lgorithmen und Datenstrukturen. Counting-Sort Wesentliche Zusatzannahme: Zu sortierende Zahlen liegen in {,,..., k} für festes, im Voraus bekanntes k. Grundidee: estimme für jedes zu sortierende Element x die nzahl Elemente, welche in der sortierten Reihenfolge vor x liegen, und platziere damit x an die korrekte Stelle. Eingabe: Feld [.. n] mit [j] {,..., k} für alle j =,..., n., k, n als Parameter übergeben. usgabe: Feld [.. n] mit Inhalt von in sortierter Reihenfolge. Hilfsfeld: C[.. k].. Counting-Sort TU ergakademie Freiberg, WS /
8 lgorithmen und Datenstrukturen COUNTING-SORT(,, k) for i to k do C[i] for j to length[] do C[[j]] C[[j]] + C[i] gibt nun an, wie oft i in vorkommt for i to k do C[i] C[i] + C[i ] C[i] gibt nun die nzahl Elemente i in an for j length[] downto do [C[[j]]] [j] C[[j]] C[[j]]. Counting-Sort TU ergakademie Freiberg, WS /
9 lgorithmen und Datenstrukturen C usführung von Counting-Sort auf Eingabefeld [.. ] mit Elementen aus {,,..., } mit Hilfsfeld C und sortierter usgabe in Feld.. Counting-Sort TU ergakademie Freiberg, WS /
10 lgorithmen und Datenstrukturen C usführung von Counting-Sort auf Eingabefeld [.. ] mit Elementen aus {,,..., } mit Hilfsfeld C und sortierter usgabe in Feld.. Counting-Sort TU ergakademie Freiberg, WS /
11 lgorithmen und Datenstrukturen C usführung von Counting-Sort auf Eingabefeld [.. ] mit Elementen aus {,,..., } mit Hilfsfeld C und sortierter usgabe in Feld.. Counting-Sort TU ergakademie Freiberg, WS /
12 lgorithmen und Datenstrukturen C usführung von Counting-Sort auf Eingabefeld [.. ] mit Elementen aus {,,..., } mit Hilfsfeld C und sortierter usgabe in Feld.. Counting-Sort TU ergakademie Freiberg, WS /
13 lgorithmen und Datenstrukturen C usführung von Counting-Sort auf Eingabefeld [.. ] mit Elementen aus {,,..., } mit Hilfsfeld C und sortierter usgabe in Feld.. Counting-Sort TU ergakademie Freiberg, WS /
14 lgorithmen und Datenstrukturen C usführung von Counting-Sort auf Eingabefeld [.. ] mit Elementen aus {,,..., } mit Hilfsfeld C und sortierter usgabe in Feld.. Counting-Sort TU ergakademie Freiberg, WS /
15 lgorithmen und Datenstrukturen C usführung von Counting-Sort auf Eingabefeld [.. ] mit Elementen aus {,,..., } mit Hilfsfeld C und sortierter usgabe in Feld.. Counting-Sort TU ergakademie Freiberg, WS /
16 lgorithmen und Datenstrukturen C usführung von Counting-Sort auf Eingabefeld [.. ] mit Elementen aus {,,..., } mit Hilfsfeld C und sortierter usgabe in Feld.. Counting-Sort TU ergakademie Freiberg, WS /
17 lgorithmen und Datenstrukturen C usführung von Counting-Sort auf Eingabefeld [.. ] mit Elementen aus {,,..., } mit Hilfsfeld C und sortierter usgabe in Feld.. Counting-Sort TU ergakademie Freiberg, WS /
18 lgorithmen und Datenstrukturen C usführung von Counting-Sort auf Eingabefeld [.. ] mit Elementen aus {,,..., } mit Hilfsfeld C und sortierter usgabe in Feld.. Counting-Sort TU ergakademie Freiberg, WS /
19 lgorithmen und Datenstrukturen C usführung von Counting-Sort auf Eingabefeld [.. ] mit Elementen aus {,,..., } mit Hilfsfeld C und sortierter usgabe in Feld.. Counting-Sort TU ergakademie Freiberg, WS /
20 lgorithmen und Datenstrukturen ufwand: for -Schleife Zeilen : for -Schleife Zeilen : for -Schleife Zeilen : for -Schleife Zeilen : Θ(k) Θ(n) Θ(k) Θ(n) Insgesamt: Θ(n + k) Geeignetes Verfahren falls k = O(n), in diesem Fall Laufzeit Θ(n). Kein vergleichendes Sortierverfahren (keine Vergleiche, sondern Zahlwerte werden ausgenutzt), daher O(n log n)-schranke verbesserbar. Counting-Sort ist stabil: gleiche Zahlen erscheinen im usgabefeld in derselben Reihenfolge. (Wichtig wenn Zahlen Schlüssel zu größeren Datensätzen). Counting-Sort TU ergakademie Freiberg, WS /
21 lgorithmen und Datenstrukturen. Radix-Sort lgorithmus aus dem Lochkarten-Zeitalter (frühes. JH) Lochkarten mit Spalten, in jeder Spalte kann an einer von Positionen ein Loch eingestanzt werden. Lochkarten-Lesemaschinen können Kartenstapel hinsichtlich einer Spalte in Teilstapel mit derselben gestanzten Position aufteilen. Diese Teilstapel werden ihrerseits weitersortiert. eispiele:. Sortieren von Dezimalzahlen, nur Positionen erforderlich. Nach jeder Ziffer wird separat sortiert; bei d Ziffern also d Sortierläufe nötig.. Sortieren von Datensätzen nach Tag, dann Monat, dann Jahr.. Radix-Sort TU ergakademie Freiberg, WS /
22 lgorithmen und Datenstrukturen Wichtig: Sortieren nach niedrigstwertigen Ziffer zuerst (Sonst zuviele Hilfsstapel erforderlich). Rechts: nwendung von Radix-Sort auf Stapel von Zahlen von je drei Ziffern. Die eingefärbte Spalte ist diejenige, nach der gerade sortiert wird. Wesentlich hier: Sortierverfahren für Spalten muss stabil sein, da sonst zurückliegende Feinsortierung wieder zunichtegemacht werden könnte.. Radix-Sort TU ergakademie Freiberg, WS /
23 lgorithmen und Datenstrukturen Wichtig: Sortieren nach niedrigstwertigen Ziffer zuerst (Sonst zuviele Hilfsstapel erforderlich). Rechts: nwendung von Radix-Sort auf Stapel von Zahlen von je drei Ziffern. Die eingefärbte Spalte ist diejenige, nach der gerade sortiert wird. Wesentlich hier: Sortierverfahren für Spalten muss stabil sein, da sonst zurückliegende Feinsortierung wieder zunichtegemacht werden könnte.. Radix-Sort TU ergakademie Freiberg, WS /
24 lgorithmen und Datenstrukturen Wichtig: Sortieren nach niedrigstwertigen Ziffer zuerst (Sonst zuviele Hilfsstapel erforderlich). Rechts: nwendung von Radix-Sort auf Stapel von Zahlen von je drei Ziffern. Die eingefärbte Spalte ist diejenige, nach der gerade sortiert wird. Wesentlich hier: Sortierverfahren für Spalten muss stabil sein, da sonst zurückliegende Feinsortierung wieder zunichtegemacht werden könnte.. Radix-Sort TU ergakademie Freiberg, WS /
25 lgorithmen und Datenstrukturen Wichtig: Sortieren nach niedrigstwertigen Ziffer zuerst (Sonst zuviele Hilfsstapel erforderlich). Rechts: nwendung von Radix-Sort auf Stapel von Zahlen von je drei Ziffern. Die eingefärbte Spalte ist diejenige, nach der gerade sortiert wird. Wesentlich hier: Sortierverfahren für Spalten muss stabil sein, da sonst zurückliegende Feinsortierung wieder zunichtegemacht werden könnte.. Radix-Sort TU ergakademie Freiberg, WS /
26 lgorithmen und Datenstrukturen Wichtig: Sortieren nach niedrigstwertigen Ziffer zuerst (Sonst zuviele Hilfsstapel erforderlich). Rechts: nwendung von Radix-Sort auf Stapel von Zahlen von je drei Ziffern. Die eingefärbte Spalte ist diejenige, nach der gerade sortiert wird. Wesentlich hier: Sortierverfahren für Spalten muss stabil sein, da sonst zurückliegende Feinsortierung wieder zunichtegemacht werden könnte.. Radix-Sort TU ergakademie Freiberg, WS /
27 lgorithmen und Datenstrukturen Wichtig: Sortieren nach niedrigstwertigen Ziffer zuerst (Sonst zuviele Hilfsstapel erforderlich). Rechts: nwendung von Radix-Sort auf Stapel von Zahlen von je drei Ziffern. Die eingefärbte Spalte ist diejenige, nach der gerade sortiert wird. Wesentlich hier: Sortierverfahren für Spalten muss stabil sein, da sonst zurückliegende Feinsortierung wieder zunichtegemacht werden könnte.. Radix-Sort TU ergakademie Freiberg, WS /
28 lgorithmen und Datenstrukturen Wichtig: Sortieren nach niedrigstwertigen Ziffer zuerst (Sonst zuviele Hilfsstapel erforderlich). Rechts: nwendung von Radix-Sort auf Stapel von Zahlen von je drei Ziffern. Die eingefärbte Spalte ist diejenige, nach der gerade sortiert wird. Wesentlich hier: Sortierverfahren für Spalten muss stabil sein, da sonst zurückliegende Feinsortierung wieder zunichtegemacht werden könnte.. Radix-Sort TU ergakademie Freiberg, WS /
29 lgorithmen und Datenstrukturen Wichtig: Sortieren nach niedrigstwertigen Ziffer zuerst (Sonst zuviele Hilfsstapel erforderlich). Rechts: nwendung von Radix-Sort auf Stapel von Zahlen von je drei Ziffern. Die eingefärbte Spalte ist diejenige, nach der gerade sortiert wird. Wesentlich hier: Sortierverfahren für Spalten muss stabil sein, da sonst zurückliegende Feinsortierung wieder zunichtegemacht werden könnte.. Radix-Sort TU ergakademie Freiberg, WS /
30 lgorithmen und Datenstrukturen Pseudocode. Radix-Sort angewandt auf n-elementiges Feld aus d-ziffrigen Zahlen. Ziffer ist die niedrigstwertige, d die höchstwertige Ziffer. RDIX-SORT(, d) for i to d do Sortiere Feld bezüglich Ziffer i mit stabilem Sortierverfahren Laufzeit. nnahme: Sortierung der Ziffern jeweils mit Counting-Sort Θ(n + k) per Durchlauf (Ziffern im ereich,..., k) d Durchläufe Insgesamt also Θ(d(n + k). Falls k = O(n) ergibt sich Laufzeit von O(dn).. Radix-Sort TU ergakademie Freiberg, WS /
31 lgorithmen und Datenstrukturen Korrektheit: Induktion über nzahl Ziffern Seien Ziffern,,..., i bereits sortiert Zeige: stabile Sortierung nach Ziffer i resultiert in Sortiertheit von Ziffern,,..., i. Unterscheiden sich zwei Zahlen in Ziffer i, so bringt Sortierung nach Ziffer i diese in die korrekte Reihenfolge. Ziffern,..., i sind dabei irrelevant. Stimmen zwei Zahlen hinsichtlich Ziffer i überein, so sind diese bereits in sortierter Reihenfolge (Induktionshypothese) und stabile Sortierung erhält diese Reihenfolge. Hierbei wird die Rolle der Stabilität deutlich. Wie teilt man einen Schlüssel in Ziffern ein?. Radix-Sort TU ergakademie Freiberg, WS /
32 lgorithmen und Datenstrukturen Lemma. Gegeben seien n Zahlen bestehend aus jeweils b its sowie eine natürliche Zahl r b. Erstere werden durch RDIX-SORT in einer Laufzeit von Θ ( (b/r)(n + r ) ) sortiert. eweis: Für r b betrachte jeden Schlüssel als aus d = b/r Ziffern von je r its zusammengesetzt. Jede Ziffer liegt somit im ereich,..., r, d.h. für Counting-Sort wäre k = r. esipiel: ein -it Wort wird aufgeteilt in vier Ziffern aus je its, d.h. b =, r =, k = r =, d = b/r =. Jeder Durchlauf erfordert Θ(n + k) = Θ(n + r ) Zeit, d Durchläufe ergeben somit eine Laufzeit von Θ(d(n + r )) = Θ ( (b/r)(n + r ) ).. Radix-Sort TU ergakademie Freiberg, WS /
33 lgorithmen und Datenstrukturen Wahl von r? usgleich zwischen b/r und n + r. Wahl r log n führt auf Θ(b/ log n(n + n)) = Θ(bn/ log n) Für r < log n ist b/r > b/ log n und n + r wird nicht asymptotisch kleiner. Für r > log n wird n + r groß. eispiel: r = log n r = log n = ( log n ) = n. Unter der nnahme b < log n erhalten wir für diese Wahl von r also eine Laufzeit von Θ(n). Um Zahlen von je it Länge zu sortieren würden wir also r = log = its verwenden, was auf b/r = Durchläufe führt.. Radix-Sort TU ergakademie Freiberg, WS /
34 lgorithmen und Datenstrukturen Vergleich Radix-Sort mit Merge-Sort und Quicksort: Seien eine Million ( ) -it ganze Zahlen zu sortieren Radix-Sort benötigt / = Durchläufe. Merge-/Quicksort: log n = Durchläufe. eachte: Ein Durchlauf von Radix-Sort entspricht eigentlich zwei Durchläufen der Daten: einmal zum Zählen und einmal um die Daten zu verteilen.. Radix-Sort TU ergakademie Freiberg, WS /
35 lgorithmen und Datenstrukturen. ucket-sort nstelle der nnahme bei Counting-Sort, dass die Elemente in einem vorher bekannten Zahlenbereich liegen, beruht die lineare Laufzeit von ucket- Sort auf der nnahme, dass die Eingabe durch ein Zufallsexperiment generiert wird, bei welchem die Elemente gleichmäßig über das Intervall [, ) verteilt sind. Idee: Zerlege [, ) in n Gefäße (uckets a ). Verteile die n Eingabeelemente auf die Gefäße. Sortiere jedes Gefäß. Sortierte Reihenfolge durch neinanderreihung der Gefäßinhalte. a wörtlich: Eimer. ucket-sort TU ergakademie Freiberg, WS /
36 lgorithmen und Datenstrukturen Pseudocode Eingabe besteht aus n-elementigem Feld, für die Elemente gilt [i] <. Zwischenspeicher: Hilfsfeld [.. n ] verketteter Listen (Gefäße) a. UCKET-SORT() n length[] for i to n do Füge [i] ein in Liste [ n[i] ] for i to n do Sortiere Liste [i] mit Insertion-Sort Füge die Listen [], [],..., [n ] hintereinander an a Genaueres zu verketteten Listen im nächsten Kapitel. ucket-sort TU ergakademie Freiberg, WS /
37 lgorithmen und Datenstrukturen ucket-sort TU ergakademie Freiberg, WS /
38 lgorithmen und Datenstrukturen ucket-sort TU ergakademie Freiberg, WS /
39 lgorithmen und Datenstrukturen ucket-sort TU ergakademie Freiberg, WS /
40 lgorithmen und Datenstrukturen ucket-sort TU ergakademie Freiberg, WS /
41 lgorithmen und Datenstrukturen ucket-sort TU ergakademie Freiberg, WS /
42 lgorithmen und Datenstrukturen ucket-sort TU ergakademie Freiberg, WS /
43 lgorithmen und Datenstrukturen ucket-sort TU ergakademie Freiberg, WS /
44 lgorithmen und Datenstrukturen ucket-sort TU ergakademie Freiberg, WS /
45 lgorithmen und Datenstrukturen ucket-sort TU ergakademie Freiberg, WS /
46 lgorithmen und Datenstrukturen ucket-sort TU ergakademie Freiberg, WS /
47 lgorithmen und Datenstrukturen ucket-sort TU ergakademie Freiberg, WS /
48 lgorithmen und Datenstrukturen ucket-sort TU ergakademie Freiberg, WS /
49 lgorithmen und Datenstrukturen ucket-sort TU ergakademie Freiberg, WS /
50 lgorithmen und Datenstrukturen ucket-sort TU ergakademie Freiberg, WS /
51 lgorithmen und Datenstrukturen ucket-sort TU ergakademie Freiberg, WS /
52 lgorithmen und Datenstrukturen ucket-sort TU ergakademie Freiberg, WS /
53 lgorithmen und Datenstrukturen ucket-sort TU ergakademie Freiberg, WS /
54 lgorithmen und Datenstrukturen ucket-sort TU ergakademie Freiberg, WS /
55 lgorithmen und Datenstrukturen ucket-sort TU ergakademie Freiberg, WS /
56 lgorithmen und Datenstrukturen ucket-sort TU ergakademie Freiberg, WS /
57 lgorithmen und Datenstrukturen ucket-sort TU ergakademie Freiberg, WS /
58 lgorithmen und Datenstrukturen ucket-sort TU ergakademie Freiberg, WS /
59 lgorithmen und Datenstrukturen ucket-sort TU ergakademie Freiberg, WS /
60 lgorithmen und Datenstrukturen ucket-sort TU ergakademie Freiberg, WS /
61 lgorithmen und Datenstrukturen ucket-sort TU ergakademie Freiberg, WS /
62 lgorithmen und Datenstrukturen ucket-sort TU ergakademie Freiberg, WS /
63 lgorithmen und Datenstrukturen ucket-sort TU ergakademie Freiberg, WS /
64 lgorithmen und Datenstrukturen ucket-sort TU ergakademie Freiberg, WS /
65 lgorithmen und Datenstrukturen ucket-sort TU ergakademie Freiberg, WS /
66 lgorithmen und Datenstrukturen ucket-sort TU ergakademie Freiberg, WS /
67 lgorithmen und Datenstrukturen ucket-sort TU ergakademie Freiberg, WS /
68 lgorithmen und Datenstrukturen ucket-sort TU ergakademie Freiberg, WS /
69 lgorithmen und Datenstrukturen ucket-sort TU ergakademie Freiberg, WS /
70 lgorithmen und Datenstrukturen Korrektheit etrachte zwei Eingabeelemente [i] und [j]. od sei [i] [j]. Wegen n[i] n[j] kommt [i] entweder in dasselbe Gefäß wie [j] oder in eines mit kleinerem Index. Im ersten Fall bringt die lokale Sortierung mit Insertion-Sort diese Elemente in sortierte Reihenfolge. Im zweiten Fall geschieht dies durch die Hintereinanderreihung der Gefäße.. ucket-sort TU ergakademie Freiberg, WS /
71 lgorithmen und Datenstrukturen ufwandsanalyse: eruht darauf, dass in keinem Gefäß allzuviele Elemente landen lle Zeilen des lgorithmus bis auf Zeile (Insertion-Sort) erfordern Laufzeit von Θ(n). Intuitiv: erhält jedes Gefäß O() Elemente, so erfordert das Sortieren jedes Gefäßes O() ufwand, also O(n) für alle Gefäße. Es ist zu erwarten, dass jedes Gefäß wenige Elemente bekommt, da im Mittel nur eines dort landet. ber genaue nalyse hier nötig.. ucket-sort TU ergakademie Freiberg, WS /
72 lgorithmen und Datenstrukturen Wir definieren die Zufallsvariablen n i := # Elemente, die in Gefäß i landen (i =,..., n ). Da Insertion-Sort eine quadratische Laufzeit besitzt, ergibt sich für die Laufzeit T (n) von ucket-sort T (n) = Θ(n) + n i= O(n i ). Mit der Linearität des Erwartungswertes erhalten wir [ E[T (n)] = E Θ(n) + n ] O(n i ) = Θ(n) + n E[O(n i )] = Θ(n) + i= n i= O(E[n i ]). i= (E[aX] = ae[x]) (.). ucket-sort TU ergakademie Freiberg, WS /
73 lgorithmen und Datenstrukturen ehauptung: E[n i ] = /n. eweis: Definiere die Indikatorzufallsvariable X i,j := { falls [j] in Gefäß i landet sonst. ufgrund der Gleichverteilungsannahme gilt Pr({[j] landet in Gefäß i}) = n. Ferner gilt: Somit gilt... n i = n X i,j. j=. ucket-sort TU ergakademie Freiberg, WS /
74 lgorithmen und Datenstrukturen [ ( n ) ] [ n E[n i ] = E X i,j = E j= [ n = E Xi,j + = j= n E[Xi,j] + j= n j= n j= k n k j k n k j j= k= ] n X i,j X i,k X i,j X i,k ] E[X i,j X i,k ]. X ij hat den Wert mit Wahrscheinlichkeit /n und mit Wahrscheinlichkeit /n. Daher folgt E[Xi,j] = ( n + ) = n n.. ucket-sort TU ergakademie Freiberg, WS /
75 lgorithmen und Datenstrukturen Für k j sind die Zufallsvariablen X i,j und X i,k unabhängig. Deshalb ist E[X i,j X i,k ] = E[X i,j ] E[X i,k ] = n n = n. Einsetzen dieser Teilergebnisse liefert E[n i ] = n j= n n + = + n n j= k n k j = n. n = n n + n(n ) n Einsetzen dieses Erwartungswertes in (.) liefert für ucket-sort eine mittlere Laufzeit von Θ(n) + n O( /n) = Θ(n).. ucket-sort TU ergakademie Freiberg, WS /
76 lgorithmen und Datenstrukturen emerkungen:. Wieder kein vergleichendes Sortierverfahren. Hier wurde ein Funktionswert des Schlüssels verwendet, um ein Feld zu adressieren.. Wir haben eine probabilistische nalyse vorgenommen, d.h. mit wahrscheinlichkeitstheoretischen Mitteln einen lgorithmus untersucht, dessen Laufzeit von der Verteilung der Eingabe abhängt.. Gegensatz zu randomisierten lgorithmen, wo wir durch Randomisieren eine Wahrscheinlichkeitsverteilung einbringen.. Ohne die nnahme von gleichverteilten Eingabelementen gilt nicht notwendig lineare Laufzeit.. ucket-sort TU ergakademie Freiberg, WS /
Alle 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
MehrSortieralgorithmen. Jan Pöschko. 18. Januar Problemstellung Definition Warum Sortieren?... 2
Jan Pöschko 18. Januar 2007 Inhaltsverzeichnis 1 Problemstellung 2 1.1 Definition................................... 2 1.2 Warum Sortieren?.............................. 2 2 Einfache Sortieralgorithmen
MehrRandomisierte Algorithmen 2. Erste Beispiele
Randomisierte Algorithmen Randomisierte Algorithmen 2. Erste Beispiele Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2016/2017 1 / 35 Randomisierter Identitätstest
MehrJAVA - Suchen - Sortieren
Übungen Informatik I JAVA - Suchen - Sortieren http://www.fbi-lkt.fh-karlsruhe.de/lab/info01/tutorial Übungen Informatik 1 Folie 1 Inhalt Suchen/Sortieren binary search mergesort bubblesort Übungen Informatik
MehrSortierverfahren für Felder (Listen)
Sortierverfahren für Felder (Listen) Generell geht es um die Sortierung von Daten nach einem bestimmten Sortierschlüssel. Es ist auch möglich, daß verschiedene Daten denselben Sortierschlüssel haben. Es
MehrAlgorithmen und Datenstrukturen 1
Algorithmen und Datenstrukturen 1 4. Vorlesung Peter F. Stadler Universität Leipzig Institut für Informatik studla@bioinf.uni-leipzig.de 4. Sortierverfahren Elementare Sortierverfahren - Sortieren durch
MehrEntscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?
Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum
MehrÜbersicht. Datenstrukturen und Algorithmen. Übersicht. Divide-and-Conquer. Vorlesung 9: Quicksort (K7)
Datenstrukturen und Algorithmen Vorlesung 9: (K7) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.rwth-aachen.de/i2/dsal0/ Algorithmus 8. Mai 200 Joost-Pieter
Mehr2 Sortieren. Beispiel: Es seien n = 8 und a = i : a i : ϕ(i) : a ϕ(i) :
2 Sortieren Das Sortieren einer Datenfolge ist eines der am leichtesten zu verstehenden und am häufigsten auftretenden algorithmischen Probleme. In seiner einfachsten Form besteht das Problem darin, eine
MehrProgrammieren I. Kapitel 7. Sortieren und Suchen
Programmieren I Kapitel 7. Sortieren und Suchen Kapitel 7: Sortieren und Suchen Ziel: Varianten der häufigsten Anwendung kennenlernen Ordnung Suchen lineares Suchen Binärsuche oder Bisektionssuche Sortieren
MehrGrundbegriffe der Wahrscheinlichkeitsrechnung
Algorithmen und Datenstrukturen 349 A Grundbegriffe der Wahrscheinlichkeitsrechnung Für Entwurf und Analyse randomisierter Algorithmen sind Hilfsmittel aus der Wahrscheinlichkeitsrechnung erforderlich.
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Dynamische Programmierung Einführung Ablaufkoordination von Montagebändern Längste gemeinsame Teilsequenz Optimale
MehrAlgorithmen und Datenstrukturen
1 Algorithmen und Datenstrukturen Wintersemester 2014/15 3. Vorlesung Laufzeitanalyse Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I 2 Recap: Diskutieren Sie mit Ihrer NachbarIn! 1. 2. 3. Was sind
MehrAbgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 2 Prof. Dr. Helmut Seidl, S. Pott,
MehrDatenstrukturen und Algorithmen
Joost-Pieter Katoen Datenstrukturen und Algorithmen 1/32 Datenstrukturen und Algorithmen Vorlesung 7: Sortieren (K2) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group
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 1 für die Übung
MehrAlgorithmen und Datenstrukturen SoSe 2008 in Trier. Henning Fernau Universität Trier
Algorithmen und Datenstrukturen SoSe 2008 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Algorithmen und Datenstrukturen Gesamtübersicht Organisatorisches / Einführung Grundlagen: RAM,
MehrAsymptotische Laufzeitanalyse: Beispiel
Asyptotische Laufzeitanalyse: n = length( A ) A[j] = x GZ Algorithen u. Datenstrukturen 1 31.10.2013 Asyptotische Laufzeitanalyse: n = length( A ) A[j] = x GZ Algorithen u. Datenstrukturen 2 31.10.2013
MehrAlgorithmen und Datenstrukturen Wintersemester 2004/ November T(n) = T(n a) + T(a) + n
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
MehrHEUTE. Datenstrukturen im Computer. Datenstrukturen. Rekursion. Feedback Evaluation. abstrakte Datenstrukturen
9.2.5 HUT 9.2.5 3 atenstrukturen im omputer atenstrukturen ie beiden fundamentalen atenstrukturen in der Praxis sind rray und Liste Rekursion Feedback valuation rray Zugriff: schnell Umordnung: langsam
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
MehrGrundlagen der Programmierung 2. Sortierverfahren
Grundlagen der Programmierung 2 Sortierverfahren Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 30. Mai 2006 Sortieren Ziel: Bringe Folge von Objekten in eine Reihenfolge
Mehr4.2 Die Chomsky Normalform
4.2 Die Chomsky Normalform Für algorithmische Problemstellungen (z.b. das Wortproblem) aber auch für den Nachweis von Eigenschaften kontextfreier Sprachen ist es angenehm, von CFG in Normalformen auszugehen.
MehrDatenstrukturen und Algorithmen
Datenstrukturen und Algorithmen VO 708.031 27.10.2011 stefan.klampfl@tugraz.at 1 Wiederholung Wir vergleichen Algorithmen anhand des ordnungsmäßigen Wachstums von T(n), S(n), Asymptotische Schranken: O-Notation:
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
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)
MehrT (n) = max. g(x)=n t(n) S(n) = max. g(x)=n s(n)
Beim Logarithmischen Kostenmaß wird, im Gegensatz zum EKM, die Stelligkeit der Werte berücksichtigt und mit in die Laufzeit eingerechnet. Beispiel: R1 := R2 (R3), wobei R2 den Wert 5, R3 den Wert 10 und
Mehr1. Musterlösung. Problem 1: Average-case-Laufzeit vs. Worst-case-Laufzeit
Universität Karlsruhe Algorithmentechnik Fakultät für Informatik WS 06/07 ITI Wagner Musterlösung Problem : Average-case-Laufzeit vs Worst-case-Laufzeit pt (a) Folgender Algorithmus löst das Problem der
MehrAlgorithmen und Datenstrukturen
Prof. r. V. Linnemann Lübeck, den. Oktober 00 Universität zu Lübeck Institut für Informationssysteme lgorithmen und atenstrukturen Sommersemester 00. Klausur Lösungen Hinweis: chten Sie bei Programmieraufgaben
MehrAlgorithmen & Datenstrukturen 1. Klausur
Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse
Mehr10 Dynamische Programmierung
137 Dynamische Programmierung Das Prinzip der Dynamischen Programmierung wird häufig bei Fragestellungen auf Worten angewendet..1 Längste gemeinsame Teilfolge Wir betrachten Worte der rt w = a 1 a 2 a
Mehr3.2. Korrektheit und Komplexität am Beispiel: Sortieren Sortieren ist eine wichtige Basis-Operation für komplexe Algorithmen
3.2. Korrektheit und Komplexität am Beispiel: Sortieren Sortieren ist eine wichtige Basis-Operation für komplexe Algorithmen Sortierproblem Eingabe: Folge von n natürlichen Zahlen a 1, a 2,, a n, die Folge
MehrName:... Vorname:... Matrikel-Nr.:... Unterschrift:...
Studiengang Bachelor of Computer Science Modulprüfung Praktische Informatik 1 Wintersemester 2010 / 2011 Name:... Vorname:... Matrikel-Nr.:... Unterschrift:... Hinweise: 1.) Schreiben Sie Ihren Namen und
MehrDie mittlere Zeit zum Auffinden eines Elements in einer Hash-Tabelle beträgt, unter realistischen Annahmen, O(1).
Algorithmen und Datenstrukturen 213 9 Hash-Tabellen Viele Anwendungen erfordern dynamische Mengen, für welche die sog. Wörterbuch-Operationen INSERT, SEARCH und DELETE verfügbar sind. Beispiel: Symboltabelle
MehrÜbungsblatt 1. f(n) = f(n) = O(g(n)) g(n) = O(f(n)) Zeigen oder widerlegen Sie: 3 n = Θ(2 n ) Aufgabe 1.2 Gegeben sei die folgende Funktion:
Übungsblatt 1 Aufgabe 1.1 Beweisen oder widerlegen Sie, dass für die im Folgenden definierte Funktion f(n) die Beziehung f(n) = Θ(n 4 ) gilt. Beachten Sie, dass zu einem vollständigen Beweis gegebenenfalls
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
MehrRegulär variierende Funktionen
KAPITEL 4 Regulär variierende Funktionen Unser nächstes Ziel ist es, die Max-Anziehungsbereiche der Extremwertverteilungen zu beschreiben. Dies wird im nächsten Kapitel geschehen. Wir haben bereits gesehen,
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
Mehr5 Zwei spieltheoretische Aspekte
5 Zwei spieltheoretische Aspekte In diesem Kapitel wollen wir uns mit dem algorithmischen Problem beschäftigen, sogenannte Und-Oder-Bäume (kurz UOB) auszuwerten. Sie sind ein Spezialfall von Spielbäumen,
MehrSortieren und Suchen. Kapitel II. Sortieren und Suchen
Kapitel II Sortieren und Suchen 43 Inhalt Kapitel II 1 Heapsort Heaps Operationen auf Heaps 2 Prioritätsschlangen 3 Quicksort Randomisiertes Quicksort 4 Vergleichskomplexität 5 Median und Selektion 44
MehrEinführung Gruppen, Beispiele, Konjugationsklassen
Einführung Gruppen, eispiele, Konjugationsklassen Fabian Rühle 21.10.2015 Inhaltsverzeichnis 1 Definition von Gruppen und einfache eispiele 1 2 Die zyklische Gruppe n 2 3 Die Diedergruppe D n 3 4 Die Permutationsgruppe
MehrS=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J
Greedy-Strategie Definition Paradigma Greedy Der Greedy-Ansatz verwendet die Strategie 1 Top-down Auswahl: Bestimme in jedem Schritt eine lokal optimale Lösung, so dass man eine global optimale Lösung
MehrRandomisierte Algorithmen
Randomisierte Algorithmen Randomisierte Algorithmen 5. Zwei spieltheoretische Aspekte Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2015/2016 1 / 36 Überblick
MehrAlgorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Wintersemester 2012/13 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 1 Einführung 2 Mathematische Grundlagen
Mehr13. Binäre Suchbäume
1. Binäre Suchbäume Binäre Suchbäume realiesieren Wörterbücher. Sie unterstützen die Operationen 1. Einfügen (Insert) 2. Entfernen (Delete). Suchen (Search) 4. Maximum/Minimum-Suche 5. Vorgänger (Predecessor),
MehrSuchen und Sortieren (Die klassischen Algorithmen)
Suchen und Sortieren (Die klassischen Algorithmen) Lineare Suche und Binäre Suche (Vorbedingung und Komplexität) Sortieralgorithmen (allgemein) Direkte Sortierverfahren (einfach aber langsam) Schnelle
MehrEinführung in die Informatik I Kapitel II.3: Sortieren
1 Einführung in die Informatik I Kapitel II.3: Sortieren Prof. Dr.-Ing. Marcin Grzegorzek Juniorprofessur für Mustererkennung im Institut für Bildinformatik Department Elektrotechnik und Informatik Fakultät
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
MehrKlausur Datenstrukturen und Algorithmen SoSe 2012
Prof. aa Dr. Ir. Joost-Pieter Katoen Christian Dehnert, Jonathan Heinen, Thomas Ströder, Sabrina von Styp Klausur Datenstrukturen und Algorithmen SoSe 2012 Vorname: Nachname: Studiengang (bitte genau einen
MehrKapitel 9. Komplexität von Algorithmen und Sortieralgorithmen
1 Kapitel 9 Komplexität von Algorithmen und Sortieralgorithmen Ziele 2 Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:
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
Mehr1. Grundlagen... 2. 2. Sortieren... 6. 1.1. Vertauschen... 13. 1.2. Selektion... 16. 1.3. Einfügen... 19. 1.4. Quicksort... 22. 3. Suchen...
Suchen und Sortieren In diesem Kapitel behandeln wir Algorithmen zum Suchen und Sortieren Inhalt 1. Grundlagen... 2 2. Sortieren... 6 1.1. Vertauschen... 13 1.2. Selektion... 16 1.3. Einfügen... 19 1.4.
MehrÜbersicht. Datenstrukturen und Algorithmen Vorlesung 5: Rekursionsgleichungen (K4) Übersicht. Binäre Suche. Joost-Pieter Katoen. 20.
Übersicht Datenstrukturen und Algorithmen Vorlesung 5: (K4) Joost-Pieter Katoen Lehrstuhl für Informatik 2 Software Modeling and Verification Group http://www-i2.informatik.rwth-aachen.de/i2/dsal12/ 20.
MehrInformatik II. Sommersemester 2011 IV/X/MMXI, Name:... Matrikelnummer:...
Prof. G. Zachmann Dipl.-Inf. D. Mohr TU Clausthal Institut für Informatik Klausur zu Informatik II Sommersemester 2011 IV/X/MMXI, 14 00 15 00 Name:......................... Matrikelnummer:.........................
MehrBabeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf
Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen
Mehr2 i. i=0. und beweisen Sie mittels eines geeigneten Verfahrens die Korrektheit der geschlossenen Form.
für Informatik Prof. aa Dr. Ir. Joost-Pieter Katoen Christian Dehnert, Friedrich Gretz, Benjamin Kaminski, Thomas Ströder Tutoraufgabe (Vollständige Induktion): Finden Sie eine geschlossene Form für die
MehrInformatik I 1. Kapitel. Einführung in Algorithmen und Datenstrukturen. Einführung in Algorithmen. Einführung in Algorithmen.
Informatik I 1. Kapitel Rainer Schrader Einführung in Algorithmen und Datenstrukturen Zentrum für Angewandte Informatik Köln 16. Juli 008 1 / 1 / 1 Einführung in Algorithmen Einführung in Algorithmen Gliederung
MehrVarianz und Kovarianz
KAPITEL 9 Varianz und Kovarianz 9.1. Varianz Definition 9.1.1. Sei (Ω, F, P) ein Wahrscheinlichkeitsraum und X : Ω eine Zufallsvariable. Wir benutzen die Notation (1) X L 1, falls E[ X ]
MehrÜbersicht Datenstrukturen und Algorithmen. Literatur. Algorithmus: Wikipedia Definition. Vorlesung 1: Einführung. Prof. Dr.
Übersicht Datenstrukturen und Vorlesung 1: Prof. Dr. Erika Ábrahám Theorie Hybrider Systeme Informatik 2 http://ths.rwth-aachen.de/teaching/ss-14/ datenstrukturen-und-algorithmen/ Diese Präsentation verwendet
MehrLösungen zur Klausur GRUNDLAGEN DER WAHRSCHEINLICHKEITSTHEORIE UND STATISTIK
Institut für Stochastik Dr. Steffen Winter Lösungen zur Klausur GRUNDLAGEN DER WAHRSCHEINLICHKEITSTHEORIE UND STATISTIK für Studierende der INFORMATIK vom 17. Juli 01 (Dauer: 90 Minuten) Übersicht über
MehrPermutationen und symmetrische Gruppe
Permutationen und symmetrische Gruppe Für eine beliebige Menge M bilden die Bijektionen von M in M, versehen mit der Komposition von Abbildungen als Operation, eine Gruppe, die sogenannte symmetrische
MehrEffiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra
Effiziente Algorithmen und Datenstrukturen I Kapitel 10: Lineare Algebra Christian Scheideler WS 2008 19.02.2009 Kapitel 10 1 Überblick Notation Arithmetik auf großen Zahlen (Addition und Multiplikation)
Mehrdamit hätten wir nach Ende der Schleife: "a[0 n-1] enthält nur Elemente aus a[0 n-1], aber in sortierter Reihenfolge".
Korrektheit Invariante: a[0 k-1] enthält nur Elemente aus a[0 k-1], aber in sortierter Reihenfolge Terminierung: Die Schleife endet mit k=n def insertionsort(a): for k in range( 1, len(a) ): while i >
MehrUntersuchen Sie, inwiefern sich die folgenden Funktionen für die Verwendung als Hashfunktion eignen. Begründen Sie Ihre Antwort.
Prof. aa Dr. Ir. Joost-Pieter Katoen Christian Dehnert, Friedrich Gretz, Benjamin Kaminski, Thomas Ströder Tutoraufgabe 1 (Güte von Hashfunktionen): Untersuchen Sie, inwiefern sich die folgenden Funktionen
MehrKlausur Informatik B April Teil I: Informatik 3
Informatik 3 Seite 1 von 8 Klausur Informatik B April 1998 Teil I: Informatik 3 Informatik 3 Seite 2 von 8 Aufgabe 1: Fragekatalog (gesamt 5 ) Beantworten Sie folgende Fragen kurz in ein oder zwei Sätzen.
MehrMathematik II für Studierende der Informatik. Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2016
und Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2016 25. April 2016 Die Dimensionsformel Definition 3.9 Sei f : V W eine lineare Abbildung zwischen zwei K-Vektorräumen. Der Kern
MehrMATHEMATISCHE ANALYSE VON ALGORITHMEN
MATHEMATISCHE ANALYSE VON ALGORITHMEN Michael Drmota Institut für Diskrete Mathematik und Geometrie, TU Wien michael.drmota@tuwien.ac.at www.dmg.tuwien.ac.at/drmota/ Ringvorlesung SS 2008, TU Wien Algorithmus
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
MehrFortgeschrittene Programmiertechnik Klausur SS 2015 Angewandte Informatik Bachelor
Fortgeschrittene Programmiertechnik Klausur SS 2015 Angewandte Informatik Bachelor Name Matrikelnummer Aufgabe Punkte Aufgabe Punkte Zwischensumme 1 6 2 8 3 12 4 18 5 20 64 6 9 7 17 8 18 9 12 Summe 120
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
MehrAlgorithmentheorie Randomisierung. Robert Elsässer
Algorithmentheorie 03 - Randomisierung Robert Elsässer Randomisierung Klassen von randomisierten Algorithmen Randomisierter Quicksort Randomisierter Primzahltest Kryptographie 2 1. Klassen von randomisierten
MehrKapitel 9. Komplexität von Algorithmen und Sortieralgorithmen
Kapitel 9 Komplexität von Algorithmen und Sortieralgorithmen Arrays 1 Ziele Komplexität von Algorithmen bestimmen können (in Bezug auf Laufzeit und auf Speicherplatzbedarf) Sortieralgorithmen kennenlernen:
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
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
MehrBeispiellösung zur Prüfung Datenstrukturen und Algorithmen D-INFK
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 Peter Widmayer
MehrStreaming Data: Das Modell
Streaming Data: Das Modell Berechnungen, bei fortlaufend einströmenden Daten (x t t 0), sind in Echtzeit zu erbringen. Beispiele sind: - Verkehrsmessungen im Internet, - Datenanalyse in der Abwehr einer
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
Mehr2. Übungsblatt zu Algorithmen II im WS 2016/2017
Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter Sanders Dr. Christian Schulz, Dr. Simon Gog Michael Axtmann. Übungsblatt zu Algorithmen II im WS 016/017 Aufgabe
MehrIdeen der Informatik Suchen und Sortieren [Ordnung muss sein ] Kurt Mehlhorn Adrian Neumann viele Folien von Kostas Panagiotou
Ideen der Informatik Suchen und Sortieren [Ordnung muss sein ] Kurt Mehlhorn Adrian Neumann viele Folien von Kostas Panagiotou Suchen Welche Telefonnummer hat Kurt Mehlhorn? Wie schreibt man das Wort Equivalenz?
MehrKlausur zur Vorlesung,,Algorithmische Mathematik II
Institut für angewandte Mathematik, Institut für numerische Simulation Sommersemester 2015 Prof. Dr. Anton Bovier, Prof. Dr. Martin Rumpf Klausur zur Vorlesung,,Algorithmische Mathematik II Bitte diese
MehrINSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS
Julian Arz, Timo Bingmann, Sebastian Schlag INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 1 KIT Julian Universität Arz, des Timo LandesBingmann, Baden-Württemberg Sebastian und Schlag nationales
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
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
Mehr3. Kombinatorik und Wahrscheinlichkeit
3. Kombinatorik und Wahrscheinlichkeit Es geht hier um die Bestimmung der Kardinalität endlicher Mengen. Erinnerung: Seien A, B, A 1,..., A n endliche Mengen. Dann gilt A = B ϕ: A B bijektiv Summenregel:
MehrKapitel 3. Natürliche Zahlen und vollständige Induktion
Kapitel 3 Natürliche Zahlen und vollständige Induktion In Kapitel 1 haben wir den direkten Beweis, den modus ponens, kennen gelernt, der durch die Tautologie ( A (A = B) ) = B gegeben ist Dabei war B eine
Mehr5 Optimale erwartungstreue Schätzer
33 5 Optimale erwartungstreue Schätzer 5.1 Definition Seien X 1,..., X n reelle Zufallsvariablen, T T (X 1,..., X n ) reellwertige Statistik. T heißt linear : c 1,..., c n R mit T n c j X j 5.2 Satz Seien
MehrSuchen. lineare Suche, binäre Suche, divide and conquer, rekursive und iterative Algorithmen, geordnete Daten, Comparable
Suchen lineare Suche, binäre Suche, divide and conquer, rekursive und iterative Algorithmen, geordnete Daten, Comparable Welche Nummer hat Herr Meier? Enthält Einträge (Elemente) der Form : Name, Vorname
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrEinführung in die Vektor- und Matrizenrechnung. Matrizen
Einführung in die Vektor- und Matrizenrechnung Matrizen Definition einer Matrix Unter einer (reellen) m x n Matrix A versteht man ein rechteckiges Schema aus reellen Zahlen, die wie folgt angeordnet sind:
MehrAlgorithmen und Datenstrukturen 1
Algorithmen und Datenstrukturen 1 5. Vorlesung Martin Middendorf / Peter F. Stadler Universität Leipzig Institut für Informatik middendorf@informatik.uni-leipzig.de studla@bioinf.uni-leipzig.de Quick-Sort
Mehr3: Zahlentheorie / Primzahlen
Stefan Lucks Diskrete Strukturen (WS 2009/10) 96 3: Zahlentheorie / Primzahlen 3: Zahlentheorie / Primzahlen Stefan Lucks Diskrete Strukturen (WS 2009/10) 97 Definition 37 (Teiler, Vielfache, Primzahlen,
MehrDomain-independent. independent Duplicate Detection. Vortrag von Marko Pilop & Jens Kleine. SE Data Cleansing
SE Data Cleansing Domain-independent independent Duplicate Detection Vortrag von Marko Pilop & Jens Kleine http://www.informatik.hu-berlin.de/~pilop/didd.pdf {pilop jkleine}@informatik.hu-berlin.de 1.0
MehrTU Darmstadt FB Mathematik, AG 9 WS 2004/2005 Jakob Creutzig (1 + ρ)
TU Darmstadt FB Mathematik, AG 9 WS 2004/2005 Jakob Creutzig 9..04 Lösungsvorschläge zum 3. Aufgabenblatt der Vorlesung,,Einführung in die Finanzmathematik Gruppenübungen Aufgabe : Es sei Ω = {, +} n,
MehrLösungen zur Klausur WAHRSCHEINLICHKEITSTHEORIE UND STATISTIK (STOCHASTIK)
Institut für Stochastik Dr. Steffen Winter Lösungen zur Klausur WAHRSCHEINLICHKEITSTHEORIE UND STATISTIK (STOCHASTIK) für Studierende des Maschinenbaus vom 7. Juli (Dauer: 8 Minuten) Übersicht über die
MehrGrundlegende Sortieralgorithmen
Grundlegende Sortieralgorithmen Martin Wirsing in Zusammenarbeit mit Matthias Hölzl und Nora Koch Sortieren in Java Man kann Sortierverfahren in einem imperativem oder einem objektorientierten Stil programmieren.
MehrName: Seite 2. Beantworten Sie die Fragen in den Aufgaben 1 und 2 mit einer kurzen, prägnanten Antwort.
Name: Seite 2 Beantworten Sie die Fragen in den Aufgaben 1 und 2 mit einer kurzen, prägnanten Antwort. Aufgabe 1 (8 Punkte) 1. Wie viele negative Zahlen (ohne 0) lassen sich im 4-Bit-Zweierkomplement darstellen?
MehrDoz. Dr. H.P. Scheffler Sommer 2000 Klausur zur Vorlesung Stochastik I
Doz. Dr. H.P. Scheffler Sommer 2000 Klausur zur Vorlesung Stochastik I Wählen Sie aus den folgenden sechs Aufgaben fünf Aufgaben aus. Die maximal erreichbare Punktezahl finden Sie neben jeder Aufgabe.
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
Mehr3.3 Methoden zur Evaluierung von Schätzern
3.3 Methoden zur Evaluierung von Schätzern Bis jetzt haben wir nur glaubwürdige Techniken zur Konstruktion von Punktschätzern besprochen. Falls unterschiedliche Schätzer für einen Parameter resultieren,
MehrEndTermTest PROGALGO WS1516 A
EndTermTest PROGALGO WS1516 A 14.1.2016 Name:................. UID:.................. PC-Nr:................ Beachten Sie: Lesen Sie erst die Angaben aufmerksam, genau und vollständig. Die Verwendung von
Mehr