Quicksort. Referat am in Proseminar "Grundlagen der Programmierung" Inhalt. 1. Geschichte und Hintergründe des Sortierproblems
|
|
- Kora Schräder
- vor 8 Jahren
- Abrufe
Transkript
1 Quicksort Referat am in Proseminar "Grundlagen der Programmierung" Inhalt 1. Geschichte und Hintergründe des Sortierproblems 2. Theoretische Grundlagen 2.1 Das Sortierproblem (lat. sors, -tis = Rang, Ordnung) 2.2 Definition einiger Fachbegriffe 3. Elementare Sortieralgorithmen 3.1 Bubblesort 3.2 Sortieren durch direktes Einfügen: Insertionsort 3.3 Shell-Metzner-Sort 4. Quicksort 4.1 Grundidee 4.2. Algorithmus 4.3 Analyse von Quicksort 4.4 Verbesserungen von Quicksort 5. Vergleich der Algorithmen Anhang: Literaturverzeichnis 1. Geschichte und Hintergründe des Sortierproblems Erste Betätigungen im Bereich des Sortierens gehen auf das Amerika im 19. Jahrhundert zurück. Damals war es üblich alle zehn Jahre eine Volkszählung durchzuführen. Mit den daraus gewonnenen Daten wuchs auch das Interesse an verschiedenen Statistiken. Für diese Erhebungen mußte das Datenmaterial nach verschiedenen Gesichtspunkten sortiert werden, was anfangs noch in mühevoller Handarbeit geschah. Daraus fand schließlich Hermann Hollerith mit der, nach ihm benannten, batteriebetriebenen Hollerith-Sortiermaschine einen Ausweg. Mit ihr wurde es möglich, Daten der Volkszählung, die auf Lochkarten gestanzt wurden, zu sortieren. In einer Presse wurden mit Nadeln die einzelnen Löcher abgetastet. Traf eine Nadel auf ein Loch, wurde über die Nadel zum metallischen Untergrund ein elektrischer Kontakt hergstellt, der über einen entsprechenden Mechanismus eine Klappe öffnete und so die Dateikarte auf den jeweiligen Stapel sortierte. Ein Angestellter konnte so an seinem secheinhalb Stunden Arbeitstag Karten bearbeiten. Mit steigenden Bevölkerungszahlen gingen stetig ansteigende Datenmassen einher, so daß man 1901 Sortiermaschinen mit automatischer Papierzuführung verwendete. Der Durchbruch gelang aber erst 1930 als die ersten programmierbaren Computer aufkammen. Das Interesse am Sortierproblem ist unweigerlich mit der Computerentwicklung und ebenso alt wie
2 Computer selbst. Computer sind aufgrund ihrer Struktur und strengen Arbeitsweise geradezu geschaffen, um Daten so sortieren. Dafür existieren verschiedene Sortieralgorithmen, die im weiteren untersucht werden sollen. 2. Theoretische Grundlagen 2.1 Das Sortierproblem (lat. sors, -tis = Rang, Ordnung) Daten sortieren heißt, sie in bezug auf eine vorher festgelegte Ordnung zu sortieren, zu ordnen. Eine solche Anordnung kann nach Größe (optische Ordnung), Zahlenwerten (z.b. Postleitzahlen) oder definiertem Alphabet geschehen. Ziel des Sortierens ist es, häufig verwendete Daten nach geschickter Sortierung schneller und einfacher wiederzufinden. Das Sortierproblem läßt sich auch mathematisch exakt darstellen: 2.2 Definition einiger Fachbegriffe Bevor nun einige Sortieralgorithmen vorgestellt und untersucht werden sollen, scheint es sinnvoll zur späteren Bewertung der Algorithmen noch einige Begriffe einzuführen. Mit Schlüssel (engl. key) bezeichnet man den Wert eines Elements der zu sortierenden Menge nach dem sortiert wird. Möchte man z.b. eine Händlernachweisliste nach Postleitzahlen sortieren, so sind in diesem Fall die PLZs die Schlüssel. Ein wichtiges Kennzeichen von Sortieralgorithmen ist die Stabilität. Sie sagt aus, daß bei der Sortierung einer Datenmenge die Reihenfolge gleicher Schlüssel erhalten bleibt. Die Inversionszahl dagegen ist ein Maß für die Unordnung, die in einer Permutation enhalten ist, sie ist wie folgt definiert: Die Ordnungsverträglichkeit gibt Auskunft darüber, ob das Sortierverfahren bereits bestehende Teilordnungen bei der Sortierung ausnützt. 3. Elementare Sortieralgorithmen
3 Hier sollen einige elementare Sortieralgorithmen vorgestellt werden. Für kleine Datenmengen sind sie durchaus ausreichend, lassen sich schnell nachvollziehen und rasch realisieren. Zudem könnnen sie sinnvoll mit komplexen Verfahren kombiniert werden und so weitere Geschwindikeitsvorteile bringen. 3.1 Bubblesort Bubblesort ist eines der bekanntesten Sortierfahren. Die Verbreitung des Algorithmuses dürfte allerdings mehr auf der einfachen Methode als der Effizienz beruhen. Der Algorithmus arbeitet mit dem Prinzip des direkten Austauschs, d.h. aufeinander folgende Schlüssel werden verglichen und gegebenenfalls vertauscht. Das Datenfeld wird nun mehrfach durchlaufen, wobei alle kleineren Schlüssel nach links wandern, alle größeren nach rechts. Stellt man sich das Array senkrecht stehend vor, so erklärt sich der Name Bubblesort mit einiger Phantasie. Eine PASCAL Implementierung könnte wie folgt aussehen: PROCEDURE Bubblesort(VAR Daten: Datenfeld; N:Integer); VAR i, j: CARDINAL; hilf: Datentyp; FOR i := 2 TO N DO FOR j := N DOWNTO i DO IF Daten[j - 1] > Daten[j] THEN hilf := Daten[j - 1]; Daten[j - 1] := Daten[j]; Daten[j] := hilf; END; END; END; {Bubblesort} Wenn man sich den Ablauf an Hand einer Tracetabelle vor Augen führt, erkennt man auch gleich ein Manko von Bubblesort. Durch den fast stur wirkenden Durclauf der FOR-Schleife wird das Datenfeld weiter durchlaufen, obwohl bereits bei i=5 die Daten korrekt sortiert sind. Startfeld: i=2: i=3: i=4: i=5: i=6: i=7: Aus dem verschachtelten Schleifenkonstrukt wird schnell ersichtlich, das die Komplexität Bubblesorts von O(n 2 ) ist. Außerdem ist noch zu bemerken, daß von Bubblesort keine Stabilität gewährleistet wird. 3.2 Sortieren durch direktes Einfügen: Insertionsort Diese Sortiermethode ist intuitiv bekannt vom Sortieren beim Kartenspiel. Man betrachtet dabei einen Key nach dem anderen und fügt ihn in die bereits sortierten an der richtigen Stelle ein, wobei deren
4 Reihenfolge unverändert bleibt. Das gerade betrachtete Element wird eingefügt, in dem die größeren Elemente einfach um eine Position nach rechts bewegt werden und das Element auf den freigewordenen Platz eingefügt wird. Das folgende Bild verdeutlicht die Vorgehensweise, die hellen Elemente gelten bereits als sortiert, das vorgehobene Element wird gerade bearbeitet: Nicht unerwähnt darf ein kleiner Schönheitsfehler bleiben. Ist das gerade betrachte Element hilf gerade das kleinste, so würde die WHILE-Schleife in ihrer bisherigen Fassung den zulässigen Bereich des Arrays verlassen. Um dies zu verhindern wurde ein Sentinel, ein Randmarke, eingeführt. Die zugehörige PASCAL-Implementierung sieht dann wie folgt aus: PROCEDURE Insertionsort(VAR Daten: Datenfeld; N:CARDINAL); VAR i, j: CARDINAL; hilf: Datentyp; FOR i := 2 TO N DO hilf := Daten[i] Daten[0] := hilf; {* Sentinel} j := i - 1; WHILE hilf < Daten[j] DO Daten[j + 1] := Daten[j]; {* j-ten Schlüssel nach rechts rutschen} j := j - 1; END; Daten[j + 1] := hilf; END; END; {Insertsort} Die Komplexität von Insertionsort ist, wie die von Bubblesort, von O(n2). Dafür ist Insertionsort aber ein stabiles Sortierverfahren. Zudem sortiert es ordnungsverträglich, sortiert also eine geordnete Menge am schnellsten, eine entgegengesetzt geordnete Datenmenge am schlechsten. 3.3 Shell-Metzner-Sort Dieses Verfahren beruht direkt auf Insertionsort und ist eine wesentliche Verbesserung davon. Der Vergleich der Keys wird nicht, wie bei Insertionsort, direkt nacheinander, sondern mit abnehmender Schritt- bzw. Spannweite vorgenommen, folglich werden Vertauschungen über große Distanzen vorgenommen. Die Distanzen werden durch eine absteigende Folge h, die gegen konvergieren muß,
5 vorgegeben. Anfangs wird das Feld über Spannweiten h>1 vorsortiert und mit kleiner werdendem h immer weiter verfeinert. Bei der Schrittweite h=1 läuft dann schließlich der Standart-Insertionsort-Algorithmus ab, wobei augrund der Vorsortierung nur noch wenige Vertauschungen notwendig sind. Realisierung in PASCAL: PROCEDURE Shellsort(VAR Daten: Datenfeld; N:CARDINAL); VAR i, j, h: CARDINAL; hilf: Datentyp; h := 1; REPEAT h:=h*3+1; UNTIL h>n; REPEAT h := h DIV 3; FOR i := h+1 TO N DO hilf := Daten[i]; Daten[0] := hilf; {* Sentinel} j := i - h; WHILE (hilf < Daten[j]) AND NOT (j < h) DO Daten[j + h] := Daten[j]; j := j - h; END; Daten[j + h] := hilf; END; UNTIL h = 1; END; {Shellsort} {* j-ten Schlüssel nach rechts rutschen} Dieses Verfahren bringt einen enormen Geschwindigkeitsgewinn, da Elemente über weite Strecken transportiert werden. Eine eine Analyse ist bis heute nicht möglich, da ungelöste mathematische Probleme im Wege stehen. Es kann nicht einmal eine Aussage über die Einflußnahme der Folge h auf das Verfahren gemacht werden. Lediglich für die Folge h[k-1] = 3 * h[k] + 1 konnte man empirisch eine Komplexität von O(n 1.25 ) ermitteln. Shell-Metzner-Sort ist damit wesentlich besser als die bisher vor gestellten Verfahren, gilt daher auch als bester einfacher Algorithmus und kann mit komplexeren, so auch mit Quicksort, durchaus konkurrieren. 4. Quicksort Der Algorithmus wurde entdeckt, als Hoare als Austauschstudent nach Moskau kam. Dort erhielt er die Möglichkeit, bei einem neuen Projekt für automatische Übersetzung vom Russischen ins Englische mitzuarbeiten. Damals wurden die Wörterbücher auf Magnetband gespeichert, somit war es notwendig, die Wörter eines Satzes alphabetisch zu sortieren, um dann die Übersetzungen vom Band abrufen zu können. Zwar hielt C.A.R. Hoare später automatische Übersetzungssysteme für unpraktikabel, aber dafür wurde Quicksort geboren. Hoare verfaßte 1962 seinen Artikel über Quicksort. Dort beschrieb er nicht nur seinen Algorithmus sondern analysierte ihn auch ausgiebig. Seine Vorhersagen über die Effizienz seines
6 Verfahrens bestätigten sich später auch in der Praxis. Da Hoare seinen Algorithmus bereits 1962, also noch vor der Einführung von ALGOL, entdeckte, mußte er sich auch noch ausführlich mit der Entrekursivierung des Verfahrens beschäftigten, da sich zu dieser Zeit noch keine Rekursion in Programmiersprachen ausdrücken ließ. 4.1 Grundidee Quicksort ist ein rekursiver Algorithmus. Die Grundidee beruht darauf, das Sortierproblem in kleine Teilprobleme zu zerlegen, bis diese lösbar werden. Auf die zu sortierende Datenmenge angewendet heißt das, die Schlüsselreihe mit einem Schnittelement, auch Pivotelement genannt, in zwei Teilreihen zu zerlegen. In der linken Teilreihe sollen sich dann alle Schlüssel kleiner dem Pivotelement, in der rechten alle größer dem Pivotelement befinden. Diese Teilreihen sollen ihrerseits wieder mit neuen Pivotelementen zerlegt werden, bis die rekursiv gewonnen Partitionen nur noch jeweils ein Element enthalten Algorithmus Die Partionierung, d.h. die Aufteilung des Datensegments in kleinere Teilsegmente, wird, wie bereits bei der Grundidee dargestellt, mit einem Pivotelement realisiert. Die Wahl des Pivotelement ist prinzipiell willkürlich, der Algorithmus funktioniert mit jedem Element als Pivotelement. Jedoch kann, wie später noch gezeigt wird, eine günstige Wahl des Trennelements Effizienzvorteile bringen. Als erstes wird also das Pivotelement, wie auch immer, aus den Schlüsseln bestimmt. Dann durchlaufen zwei Pfeile das Datensegment, der eine von Links startend nach Rechts, der andere von Rechts startend nach Links. Der linke Pfeil startet als erster beim linken Randelement des Datensegments. Dabei wird das Pivotelement mit dem Schlüssel, auf den der linke Pfeil gerade zeigt, verglichen. Ist der aktuelle Schlüssel kleiner dem Pivotelement wandert der linke Pfeil rechts weiter zum nächsten Wert im Datensegement. Ist dagegen der aktuelle Schlüsselwert größer als das Pivotelement wird der rechte Pfeil in Gang gesetzt. Anfangs startet dieser am rechten Datensegmentrand und wandert nach Links auf den linken Pfeil zu. Auch hierbei wird wieder der aktuelle Schlüsselwert mit dem Trennelement verglichen. Ist der Schlüsselwert größer dem Pivotelement, wandert der recht Pfeile links weiter zum nächsten Wert, ansonsten wird die Position des aktuellen Schlüssels mit der des Schlüssels, auf den der linke Pfeil zeigt, vertauscht. Der Vorgang ist dann beendet, wenn sich der linke und rechte Pfeil treffen, oder gar überlagern. Dabei ist zu beachten, daß bei Überlagerung keine Vertauschung mehr stattfindet, da die Schlüssel dann bereits im richtigen Teilsegment liegen. So erhält man nach dieser ersten Partitionierung genau zwei Teilsegmente, wobei die Schlüssel im linken Teilbereich alle kleiner dem Trennelement, im rechten Teilbereich alle größer dem Trennelement sind. Die neu gewonnenen Teilbereiche werden ihrerseits wieder partioniert. Die Rekursion wird erst dann beendet, wenn man nur noch leere oder 1-elementige Teilsegmente erhalten hat. Durch diese rekursive Partionierung erhält man dann eine Sortierung des Datenfelds. Im folgenden Schaubild wird der Sortiervorgang an einem einfachen Zahlenfeld vorgeführt:
7 Wie bereits mehrfach erwähnt, ist Quicksort ein rekursives Verfahren. Hoare mußte Quicksort in seinen damaligen Realisierungen noch mittels eines Stacks entrekursivieren, um es auf einer Maschine laufen lassen zu können. Trotzdem erschwert der rekursive Aufbau erheblich die Suche nach Implementierungsfehlern in Programmtexten. In der Literatur wird daher empfohlen, sich nur bei großen Datenmengen oder Aufnahme des Quicksortalgorithmus in eine Programmbibliothek auf dieses Verfahren zurückzugreifen. Sonst sei man mit Shellsort, das vom Verfahren viel einsichtiger ist, besser bedient. In PASCAL läßt sich Quicksort wie folgt beschreiben: PROCEDURE Quicksort(VAR Daten: Datenfeld; N:CARDINAL); PROCEDURE Partition(Links, Rechts: CARDINAL); VAR UPfeil, OPfeil: CARDINAL; Pivot, hilf: Datentyp; UPfeil := Links; OPfeil := Rechts; Pivot := Daten[(Links + Rechts) DIV 2]; {* mittleres Element: Pivot}; REPEAT WHILE Daten[UPfeil] < Pivot DO UPfeil := UPfeil + 1; WHILE Daten[OPfeil] > Pivot DO OPfeil := OPfeil - 1; IF UPfeil <= OPfeil THEN {* wenn sich beide Pfeile nicht berühren} hilf := Daten[UPfeil]; Daten[UPfeil] := Daten[OPfeil]; Daten[OPfeil] := hilf; UPfeil := UPfeil + 1; OPfeil := OPfeil - 1; END; UNTIL UPfeil > OPfeil; IF Links < OPfeil THEN Partition(Links, OPfeil); {* linkes Segment zerl.} IF Rechts > UPfeil THEN Partition(UPfeil, Rechts); {* rechtes Segment zerl.} END; {Partition} Partition(1, N); END; {Quicksort} Quicksort ist kein stabiles Verfahren.
8 4.3 Analyse von Quicksort Bereits Hoare hat dieses Verfahren ausgiebig mathematisch untersucht. Ziel in diesem Abschnitt ist es, eine Abschätzung über die Komplexität Quicksorts zu erhalten. Bei Quicksort werden, wie bei den anderen Sortierverfahren auch, zwei Methoden angewandt: Vergleiche (C von engl. comparisons) und Vertauschungen (M von engl. movements). Die Zahl der Vergleiche pro Partionierung von N Schlüsseln beträgt ebenfalls N, da ja alle Schlüssel mit dem Pivotelement verglichen werden müssen. Die Zahl der Vertauschungen hängt dagegen in großem Maße von der Art der Wahl des Pivotelements ab. So erhält man den ungünstigsten Fall (worst case), wenn man als Pivotelement immer gerade den größten oder kleinsten Schlüssel des Datensegments erhält. In diesem Fall ist die asymptotische Komplexität von Quicksort von der Ordnung n 2. Folgendes Zahlenbeispiel zeigt, daß in diesem Fall ein Teilsegemtn immer genau ein Element, das andere Segment genau N-1 Elemente enthält, also N Partitionierungen statt finden müssen: und so fort bis Pro Rekursionsstufe findet also nur ein Tausch statt. Um nun die Zahl M der Schlüsselbewegungen zu bestimmen, nimmt man an, daß das Pivotelement zufällig bestimmt wird und gerade dem r größsten Schlüssel der Sortiermenge entspricht. Die Annahme beruht dabei auf dem Prinzip der bedingten Erwartung. Damit existieren in der Datenmenge genau N-r Elemente, die größer als das Pivotelement sind, die Wahrscheinlichkeit, daß ein Schlüssel größer als das Trennelement sein kann ist folglich (N-r) / N. Nun gibt es genau r-1 Positionen, auf denen Schlüssel größer dem Pivotelement stehen können, dann aber, weil auf diesen Positionen nach der Partionierung nur Element kleiner Pivotelement stehen sollen, verschoben werden müssen. In einer Partionierung mit dem r-ten Element als Pivotelement finden demnach genau statt. Bildet man nun den Erwartungswert, d.h. summiert über r und dividiert durch N, so erhält man die absolute Anzahl von Vertauschungen M in einer Partitionierung:
9 In der weiteren Abschätzung in bezug auf M abstrahiert man von den exakten Faktoren und gelangt so nun zu folgendem Ausdruck: Die Variablen a, b, c sind dabei spezifisch für den jeweils verwendeten Computer, wobei z.b. a in etwa ein Faktor für die Abarbeitung von Schleifen sein könnte. Die Zeit, um N Elemente zu sortieren, wird im weiteren mit T N bezeichnet, die Sortierzeit für r Elemente mit T r, die für N-r Elemente mit T N-r. Um N Elemente zu sortieren, benötigt man neben der Zeit der aktuellen Partionierung außerdem noch die Zeit, um r Elemente, das sind die Elemente im linken Teilsegment, und N-r Elemente, die Elemente im rechten Teilsegment, zu sortieren: Dabei wird wieder vorausgesetzt, daß das Pivotelement das r größste war. Geht man wieder davon aus, daß die Wahl des Pivotelements zufällig ist, kann man wieder den Erwartungswert bilden und gelangt zu folgender Gleichung: Die Lösung dieser Gleichung ist nun sehr komplex und außerordentlich kompleziert. Auch Hoare gibt diese Lösung nur an und begründet sie nicht näher. Jedoch scheint es an dieser Stelle nicht nützlich näher auf die Gestalt der Lösung einzugehen. Im weiteren Verlauf greift man den größten Summanden der Lösung heraus, da man ja nur eine Abschätzung will, und gelangt damit zu: Die Analysis begründet den Zusammenhang mit dem Logarithmus. Man faßt dabei das Summenzeichen als numerisches Integral auf und erhält dann den natürlichen Logarithmus, der gerade der Stammfunktion von 1/x entspricht. Somit ist gezeigt, daß die Komplexität von Quicksort von der Ordnung N * log(n) ist. Aus der Informationstheorie ist bekannt, daß bei einer Vertauschung genau -log 2 an Entropie (=Entscheidungsgehalt) verloren geht. Weiter weiß man, daß die Entropie der zu sortierenden Datenmenge -log N! beträgt. Die sortierte Datenmenge hat dann die Entropie 0. Daraus läßt sich folgern, daß die minimale Vertauschung -log N! / -log 2 = log 2 N!, in etwa N * log 2 N entspricht. D.h. will man eine beliebige Datenmenge mit N Elemente mit möglichst wenig Vertauschungen sortieren, so benötigt man im besten Fall immer noch N * log 2 N Vertauschungen. Quicksort ist mit 2N * log N Vertauschungen recht nahe dran, es benötigt damit nur das 1.4 fache des
10 optimalen Wertes. 4.4 Verbesserungen von Quicksort Am Schluß der Analyse wurde gezeigt, daß Quicksort nur um den Faktor 1.4 vom optimalen Wert abweicht. Quicksort ist damit ein sehr gutes Sortierverfahren. Auch wenn es in der Praxis selten vorkommen dürfte, fällt Quicksort im worst case mit einer Komplexität von O(n 2 ) doch wieder weit zurück. Die Wahl des Pivotelements wurde dafür verantwortlich gemacht. Optimieren kann man hier, indem sich drei Schlüssel aus der Datenmenge herausgreift und gerade das größenmäßig in der Mitte liegende der Dreien zum Pivotelement macht. Damit kann gewährleistet werden, daß das Pivotelement nicht das Minimum oder Maximum der Datenmenge ist und so der worst case vermieden wird. Hoare schlägt außerdem vor, Sentinel-Keys einzuführen, um so auf ständigen Zeigertests verzichten zu können. Einen weiteren Geschwindigkeitsvorteil bringt, Quicksort mit anderen Verfahren, z.b. Insertionsort, zu kombinieren. Da sich in der Praxis zeigt, daß Quicksort bei Datenmengen mit N < 10 schlechter abschneidet als manch elementarer Konkurrent. Bei der Kombination mit Insertionsort kann dieser Nachteil wieder wettgemacht werden, indem man Segmente mit weniger als 10 Elementen nicht mehr weiterpartitioniert sondern eben mit Insertionsort sortiert. 5. Vergleich der Algorithmen In diesem Abschnitt sollen die drei Sortieralgorithmen Bubblesort, Insertion und Quicksort miteinander verglichen werden. Dazu wurden die drei Algorithmen jeweils mit bereits sortierten Mengen, günstigster Fall, zufällig sortierten Mengen, durchschnittlicher Fall, und entgegengesetzt sortierten Mengen konfrontiert. Der Aufwand der Sortieralgorithmen im Überblick: In den folgenden Diagrammen wurden dafür die Arbeitszeiten der Algorithmen in Bezug auf die Größe N der Datenmenge aufgezeichnet. Die Zeiten wurden dabei mit der internen Uhr eines Commodore Amiga 500 für Kick-Pascal Implementierungen in Sekunden ermittelt. Die Genauigkeit der Zeiten ist somit von der Verläßlichkeit auf die interne Uhr gekennzeichnet.
11 Die Kurve von Bubblesort verläuft ganz streng der einer Parabel. Im Vergleich zu seinen Konkurrenten ist Bubblesort überdeutlich der langsamste Algorithmus. Überraschenderweise wird aber das favourisierte Quicksort von Insertionsort an Geschwindikeit übertroffen, das, im Gegensatz zu Quicksort, ordnungsverträglich sortiert und so einen Geschwindigkeitsbonuns verbuchen kann.
12 Auch bei zufällig sortierten Datenmengen tut sich Bubblesort wieder als schlechtestes Verfahren hervor. Bereits bei N = 100 benötigt es die über die doppelte Zeit von Insertionsort und gar das Siebenfache von Quicksort. Nahezu Gleichheit zwischen Quicksort und Insertionsort herrscht bei N<20. Wie bei den Verbesserungen von Quicksort bereits erwähnt, wird Quicksort bei kleinen Datenmengen von Insertionsort mitunter geschlagen. Außerdem werden in diesem Bild die quadratischen Komplexitäten von Bubblesort und Insertionsort deutlich. Quicksort kommt, wie bei der Analyse bereits prophezeit, mit zufällig geordneten Daten am besten zurecht.
13 Während Bubblesort und Insertionsort sehr lange brauchen, um die Daten zu sortieren, sprechen die Zeiten von Quicksort sehr deutlich für Hoares Algorithmus. Die Zeitunterschiede zwischen Insertionsort und Quicksort sind zwar hier geringer als in den vorherigen Fällen, doch erweist sich auch hier Bubblesort wieder als das schlechteste Verfahren. Wirth meint zu Bubblesort, daß es außer einem griffigen Namen nichts zu bieten habe... Quicksort schlägt souverän seine Konkurrenten aus dem Rennen und ist in der Praxis damit das schnellste Sortierverfahren. Lediglich ein Vergleich mit Shellsort fällt weniger eindeutig aus. Bei allen Vorzügen sollte man dennoch nicht vergessen, daß Quicksort instabil ist und nicht ordnungsverträglich sortiert. Überhaupt entfaltet Quicksort sein Optimum erst bei großen Datenmengen. Interessanterweise konnte Hoare bereits 1962 diese Kennzeichen und Eigenschaften prophezeien. Anhang: Literaturverzeichnis C. A. R. Hoare: QUICKSORT. BCS Computer Journal, 5(1): 1962 Appelrath, H.J.; Ludwig. J.: Skriptum Informatik - eine konventionelle Einführung. Stuttgart: Teubner, Sedgewick, R.: Algorithmen.
14 Bonn, München u.a.: Addision-Wesley, Wirth, N.: Algorithmen und Datenstrukturen. Stuttgart: Teubner, Frank, H.: Facharbeit aus der Mathematik, Diskussion und Darlegung von Sortieralgorithmen. Weißenburg 1994 (C) by Florian Michahelles 1997
Überblick. Lineares Suchen
Komplexität Was ist das? Die Komplexität eines Algorithmus sei hierbei die Abschätzung des Aufwandes seiner Realisierung bzw. Berechnung auf einem Computer. Sie wird daher auch rechnerische Komplexität
Mehr1 topologisches Sortieren
Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung
Mehrgeben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen
geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Vollständigkeit halber aufgeführt. Gehen wir einmal davon aus, dass die von uns angenommenen 70% im Beispiel exakt berechnet sind. Was würde
MehrPrimzahlen und RSA-Verschlüsselung
Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrSortieren durch Einfügen. Prof. Dr. W. Kowalk Sortieren durch Einfügen 1
Sortieren durch Einfügen Prof. Dr. W. Kowalk Sortieren durch Einfügen 1 Schon wieder aufräumen Schon wieder Aufräumen, dabei habe ich doch erst neulich man findet alles schneller wieder Bücher auf Regal
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens 1 Organisatorisches Freitag, 05. Mai 2006: keine Vorlesung! aber Praktikum von 08.00 11.30 Uhr (Gruppen E, F, G, H; Vortestat für Prototyp)
Mehr50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte
50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien
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
MehrOutlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang
sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche
MehrGrundlagen der Theoretischen Informatik, SoSe 2008
1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)
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
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
MehrAnhand des bereits hergeleiteten Models erstellen wir nun mit der Formel
Ausarbeitung zum Proseminar Finanzmathematische Modelle und Simulationen bei Raphael Kruse und Prof. Dr. Wolf-Jürgen Beyn zum Thema Simulation des Anlagenpreismodels von Simon Uphus im WS 09/10 Zusammenfassung
MehrSortieren. Eine Testmenge erstellen
Sortieren Eine der wohl häufigsten Aufgaben für Computer ist das Sortieren, mit dem wir uns in diesem Abschnitt eingeher beschäftigen wollen. Unser Ziel ist die Entwicklung eines möglichst effizienten
MehrAGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b
AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität
MehrBinäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
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
MehrFachbericht zum Thema: Anforderungen an ein Datenbanksystem
Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank
Mehr1 Mathematische Grundlagen
Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.
MehrZeichen bei Zahlen entschlüsseln
Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren
MehrDas RSA-Verschlüsselungsverfahren 1 Christian Vollmer
Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer Allgemein: Das RSA-Verschlüsselungsverfahren ist ein häufig benutztes Verschlüsselungsverfahren, weil es sehr sicher ist. Es gehört zu der Klasse der
MehrEinfügen von Bildern innerhalb eines Beitrages
Version 1.2 Einfügen von Bildern innerhalb eines Beitrages Um eigene Bilder ins Forum einzufügen, gibt es zwei Möglichkeiten. 1.) Ein Bild vom eigenem PC wird auf den Webspace von Baue-die-Bismarck.de
MehrAnleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung
Anleitung zur Daten zur Datensicherung und Datenrücksicherung Datensicherung Es gibt drei Möglichkeiten der Datensicherung. Zwei davon sind in Ges eingebaut, die dritte ist eine manuelle Möglichkeit. In
MehrDatensicherung. Beschreibung der Datensicherung
Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten
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
MehrInventur. Bemerkung. / Inventur
Inventur Die beliebige Aufteilung des Artikelstamms nach Artikeln, Lieferanten, Warengruppen, Lagerorten, etc. ermöglicht es Ihnen, Ihre Inventur in mehreren Abschnitten durchzuführen. Bemerkung Zwischen
MehrAnleitung über den Umgang mit Schildern
Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder
MehrTheoretische Informatik SS 04 Übung 1
Theoretische Informatik SS 04 Übung 1 Aufgabe 1 Es gibt verschiedene Möglichkeiten, eine natürliche Zahl n zu codieren. In der unären Codierung hat man nur ein Alphabet mit einem Zeichen - sagen wir die
MehrSortierverfahren. Sortierverfahren für eindimensionale Arrays
Sortierverfahren Sortierverfahren Sortieren durch Einfügen Sortieren durch Auswählen Sortieren durch Vertauschen (Bubblesort) Quicksort Sortierverfahren für eindimensionale Arrays 1 Gegeben ist eine beliebige
MehrALP I. Funktionale Programmierung
ALP I Funktionale Programmierung Sortieren und Suchen (Teil 1) WS 2012/2013 Suchen 8 False unsortiert 21 4 16 7 19 11 12 7 1 5 27 3 8 False sortiert 2 4 6 7 9 11 12 18 21 24 27 36 Suchen in unsortierten
MehrInformationsblatt Induktionsbeweis
Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln
MehrKapitalerhöhung - Verbuchung
Kapitalerhöhung - Verbuchung Beschreibung Eine Kapitalerhöhung ist eine Erhöhung des Aktienkapitals einer Aktiengesellschaft durch Emission von en Aktien. Es gibt unterschiedliche Formen von Kapitalerhöhung.
MehrPlotten von Linien ( nach Jack Bresenham, 1962 )
Plotten von Linien ( nach Jack Bresenham, 1962 ) Ac Eine auf dem Bildschirm darzustellende Linie sieht treppenförmig aus, weil der Computer Linien aus einzelnen (meist quadratischen) Bildpunkten, Pixels
MehrAustausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen
Austausch- bzw. Übergangsrozesse und Gleichgewichtsverteilungen Wir betrachten ein System mit verschiedenen Zuständen, zwischen denen ein Austausch stattfinden kann. Etwa soziale Schichten in einer Gesellschaft:
MehrSowohl die Malstreifen als auch die Neperschen Streifen können auch in anderen Stellenwertsystemen verwendet werden.
Multiplikation Die schriftliche Multiplikation ist etwas schwieriger als die Addition. Zum einen setzt sie das kleine Einmaleins voraus, zum anderen sind die Überträge, die zu merken sind und häufig in
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
MehrWürfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.
040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl
MehrDas große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten
Das große x -4 Alles über das Wer kann beantragen? Generell kann jeder beantragen! Eltern (Mütter UND Väter), die schon während ihrer Elternzeit wieder in Teilzeit arbeiten möchten. Eltern, die während
Mehr1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:
Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:
MehrMATHEMATIK 3 STUNDEN. DATUM: 8. Juni 2009
EUROPÄISCHES ABITUR 2009 MATHEMATIK 3 STUNDEN DATUM: 8. Juni 2009 DAUER DES EXAMENS : 3 Stunden (180 Minuten) ZUGELASSENE HILFSMITTEL : Europäische Formelsammlung Nicht graphischer und nicht programmierbarer
MehrEva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit
Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit Frau Dr. Eva Douma ist Organisations-Beraterin in Frankfurt am Main Das ist eine Zusammen-Fassung des Vortrages: Busines
Mehr4 Aufzählungen und Listen erstellen
4 4 Aufzählungen und Listen erstellen Beim Strukturieren von Dokumenten und Inhalten stellen Listen und Aufzählungen wichtige Werkzeuge dar. Mit ihnen lässt sich so ziemlich alles sortieren, was auf einer
MehrVorlesung Dokumentation und Datenbanken Klausur
Dr. Stefan Brass 5. Februar 2002 Institut für Informatik Universität Giessen Vorlesung Dokumentation und Datenbanken Klausur Name: Geburtsdatum: Geburtsort: (Diese Daten werden zur Ausstellung des Leistungsnachweises
MehrZahlen auf einen Blick
Zahlen auf einen Blick Nicht ohne Grund heißt es: Ein Bild sagt mehr als 1000 Worte. Die meisten Menschen nehmen Informationen schneller auf und behalten diese eher, wenn sie als Schaubild dargeboten werden.
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
MehrFestplatte defragmentieren Internetspuren und temporäre Dateien löschen
Festplatte defragmentieren Internetspuren und temporäre Dateien löschen Wer viel mit dem Computer arbeitet kennt das Gefühl, dass die Maschine immer langsamer arbeitet und immer mehr Zeit braucht um aufzustarten.
MehrÜber Arrays und verkettete Listen Listen in Delphi
Über Arrays und verkettete Listen Listen in Delphi Michael Puff mail@michael-puff.de 2010-03-26 Inhaltsverzeichnis Inhaltsverzeichnis 1 Einführung 3 2 Arrays 4 3 Einfach verkettete Listen 7 4 Doppelt verkettete
MehrA1.7: Entropie natürlicher Texte
A1.7: Entropie natürlicher Texte Anfang der 1950er Jahre hat Claude E. Shannon die Entropie H der englischen Sprache mit einem bit pro Zeichen abgeschätzt. Kurz darauf kam Karl Küpfmüller bei einer empirischen
MehrKreativ visualisieren
Kreativ visualisieren Haben Sie schon einmal etwas von sogenannten»sich selbst erfüllenden Prophezeiungen«gehört? Damit ist gemeint, dass ein Ereignis mit hoher Wahrscheinlichkeit eintritt, wenn wir uns
MehrDie Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.
Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,
MehrUnterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis
Unterrichtsmaterialien in digitaler und in gedruckter Form Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis Das komplette Material finden Sie hier: Download bei School-Scout.de
MehrKulturelle Evolution 12
3.3 Kulturelle Evolution Kulturelle Evolution Kulturelle Evolution 12 Seit die Menschen Erfindungen machen wie z.b. das Rad oder den Pflug, haben sie sich im Körperbau kaum mehr verändert. Dafür war einfach
MehrZahlenoptimierung Herr Clever spielt optimierte Zahlen
system oder Zahlenoptimierung unabhängig. Keines von beiden wird durch die Wahrscheinlichkeit bevorzugt. An ein gutes System der Zahlenoptimierung ist die Bedingung geknüpft, dass bei geringstmöglichem
MehrBelichtung mit Tonwertkorrektur verbessern
Belichtung mit Tonwertkorrektur verbessern Die meisten Digitalfotos müssen vor dem Ausdruck bearbeitet werden: Helligkeit und Kontrast sollten für ein besseres Ergebnis reguliert werden. Die Tonwertkorrektur
MehrZahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1
Zahlenwinkel: Forscherkarte 1 alleine Tipp 1 Lege die Ziffern von 1 bis 9 so in den Zahlenwinkel, dass jeder Arm des Zahlenwinkels zusammengezählt das gleiche Ergebnis ergibt! Finde möglichst viele verschiedene
MehrSICHERN DER FAVORITEN
Seite 1 von 7 SICHERN DER FAVORITEN Eine Anleitung zum Sichern der eigenen Favoriten zur Verfügung gestellt durch: ZID Dezentrale Systeme März 2010 Seite 2 von 7 Für die Datensicherheit ist bekanntlich
Mehr1. Einführung. 2. Die Abschlagsdefinition
1. Einführung orgamax bietet die Möglichkeit, Abschlagszahlungen (oder auch Akontozahlungen) zu erstellen. Die Erstellung der Abschlagsrechnung beginnt dabei immer im Auftrag, in dem Höhe und Anzahl der
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)
Mehr! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006
!"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst
MehrKurzanleitung MAN E-Learning (WBT)
Kurzanleitung MAN E-Learning (WBT) Um Ihr gebuchtes E-Learning zu bearbeiten, starten Sie bitte das MAN Online- Buchungssystem (ICPM / Seminaris) unter dem Link www.man-academy.eu Klicken Sie dann auf
MehrDie Größe von Flächen vergleichen
Vertiefen 1 Die Größe von Flächen vergleichen zu Aufgabe 1 Schulbuch, Seite 182 1 Wer hat am meisten Platz? Ordne die Figuren nach ihrem Flächeninhalt. Begründe deine Reihenfolge. 1 2 3 4 zu Aufgabe 2
MehrStellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster
Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.
MehrAUSBILDUNG eines OBEDIENCE HUNDES
Beginners, CH (Box, Carré), 15 m entfernt Beginners, CH ab 2017 FCI - 1 (Box, Carré), 15 m entfernt mit Platz, 15 m FCI - 2 FCI - 3 mit Platz und Abrufen, 23 m Voransenden in einen Kreis, dann in ein Viereck
Mehr7 Rechnen mit Polynomen
7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn
MehrDatenexport aus JS - Software
Datenexport aus JS - Software Diese Programm-Option benötigen Sie um Kundendaten aus der JS-Software in andere Programme wie Word, Works oder Excel zu exportieren. Wählen Sie aus dem Programm-Menu unter
MehrErstellen von x-y-diagrammen in OpenOffice.calc
Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei
MehrErwin Grüner 09.02.2006
FB Psychologie Uni Marburg 09.02.2006 Themenübersicht Folgende Befehle stehen in R zur Verfügung: {}: Anweisungsblock if: Bedingte Anweisung switch: Fallunterscheidung repeat-schleife while-schleife for-schleife
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
MehrDurch Wissen Millionär WerDen... Wer hat zuerst die Million erreicht? spielanleitung Zahl der spieler: alter: redaktion / autor: inhalt:
Spielanleitung Durch Wissen Millionär werden... Diesen Traum kann man sich in diesem beliebten Quiz-Spiel erfüllen. Ob allein oder in der geselligen Runde dieses Quiz enthält 330 Fragen und 1.320 Multiple-Choice-Antworten.
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
MehrDieses erste Kreisdiagramm, bezieht sich auf das gesamte Testergebnis der kompletten 182 getesteten Personen. Ergebnis
Datenanalyse Auswertung Der Kern unseres Projektes liegt ganz klar bei der Fragestellung, ob es möglich ist, Biere von und geschmacklich auseinander halten zu können. Anhand der folgenden Grafiken, sollte
MehrEinrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me
Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Bevor Sie die Platte zum ersten Mal benutzen können, muss sie noch partitioniert und formatiert werden! Vorher zeigt sich die Festplatte
MehrCharakteristikum des Gutachtenstils: Es wird mit einer Frage begonnen, sodann werden die Voraussetzungen Schritt für Schritt aufgezeigt und erörtert.
Der Gutachtenstil: Charakteristikum des Gutachtenstils: Es wird mit einer Frage begonnen, sodann werden die Voraussetzungen Schritt für Schritt aufgezeigt und erörtert. Das Ergebnis steht am Schluß. Charakteristikum
MehrLeitfaden #1a. "zanox Publisher-Statistik" (next generation)
Leitfaden #1a "zanox Publisher-Statistik" (next generation) Thema: Sortieren von Leads und Sales nach dem Bearbeitungsdatum (inklusive Abschnitt "Filterung nach Transaktionsstatus") 1/8 Leitfaden "Sortieren
MehrData Mining: Einige Grundlagen aus der Stochastik
Data Mining: Einige Grundlagen aus der Stochastik Hagen Knaf Studiengang Angewandte Mathematik Hochschule RheinMain 21. Oktober 2015 Vorwort Das vorliegende Skript enthält eine Zusammenfassung verschiedener
MehrDiese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.
Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,
MehrKapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung
Kapitel 6 Komplexität von Algorithmen 1 6.1 Beurteilung von Algorithmen I.d.R. existieren viele Algorithmen, um dieselbe Funktion zu realisieren. Welche Algorithmen sind die besseren? Betrachtung nicht-funktionaler
Mehr12. Dokumente Speichern und Drucken
12. Dokumente Speichern und Drucken 12.1 Überblick Wie oft sollte man sein Dokument speichern? Nachdem Sie ein Word Dokument erstellt oder bearbeitet haben, sollten Sie es immer speichern. Sie sollten
MehrEM-Wellen. david vajda 3. Februar 2016. Zu den Physikalischen Größen innerhalb der Elektrodynamik gehören:
david vajda 3. Februar 2016 Zu den Physikalischen Größen innerhalb der Elektrodynamik gehören: Elektrische Stromstärke I Elektrische Spannung U Elektrischer Widerstand R Ladung Q Probeladung q Zeit t Arbeit
MehrL10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016
L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 Referentin: Dr. Kelly Neudorfer Universität Hohenheim Was wir jetzt besprechen werden ist eine Frage, mit denen viele
MehrCSS-Grundlagen. Etwas über Browser. Kapitel. Die Vorbereitung
Kapitel 1 Die Vorbereitung Vorgängerversionen. Bald darauf folgte dann schon die Version 4, die mit einer kleinen Bearbeitung bis vor Kurzem 15 Jahre unverändert gültig war. All das, was du die letzten
MehrFolgeanleitung für Klassenlehrer
Folgeanleitung für Klassenlehrer 1. Das richtige Halbjahr einstellen Stellen sie bitte zunächst das richtige Schul- und Halbjahr ein. Ist das korrekte Schul- und Halbjahr eingestellt, leuchtet die Fläche
Mehricloud nicht neu, aber doch irgendwie anders
Kapitel 6 In diesem Kapitel zeigen wir Ihnen, welche Dienste die icloud beim Abgleich von Dateien und Informationen anbietet. Sie lernen icloud Drive kennen, den Fotostream, den icloud-schlüsselbund und
MehrEasyWk DAS Schwimmwettkampfprogramm
EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage
Mehrsondern alle Werte gleich behandelt. Wir dürfen aber nicht vergessen, dass Ergebnisse, je länger sie in der Vergangenheit
sondern alle Werte gleich behandelt. Wir dürfen aber nicht vergessen, dass Ergebnisse, je länger sie in der Vergangenheit liegen, an Bedeutung verlieren. Die Mannschaften haben sich verändert. Spieler
MehrLeichte-Sprache-Bilder
Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen
MehrEINMALEINS BEZIEHUNGSREICH
EINMALEINS BEZIEHUNGSREICH Thema: Übung des kleinen Einmaleins; operative Beziehungen erkunden Stufe: ab 2. Schuljahr Dauer: 2 bis 3 Lektionen Materialien: Kleine Einmaleinstafeln (ohne Farben), Punktefelder
MehrPartnerportal Installateure Registrierung
Partnerportal Installateure Registrierung Ein Tochterunternehmen der Süwag Energie AG Allgemeine Hinweise Diese Anleitung zeigt Ihnen, wie Sie sich als Nutzer für das Partnerportal Installateure registrieren
MehrSysteme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss
Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige
Mehr40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.
40-Tage-Wunder- Kurs Umarme, was Du nicht ändern kannst. Das sagt Wikipedia: Als Wunder (griechisch thauma) gilt umgangssprachlich ein Ereignis, dessen Zustandekommen man sich nicht erklären kann, so dass
MehrSAMMEL DEINE IDENTITÄTEN::: NINA FRANK :: 727026 :: WINTERSEMESTER 08 09
SAMMEL DEINE IDENTITÄTEN::: :: IDEE :: Ich selbst habe viele verschiedene Benutzernamen und Passwörter und wenn ich mir diese nicht alle aufschreiben würde, würde ich alle durcheinander bringen oder welche
MehrTutorial: Homogenitätstest
Tutorial: Homogenitätstest Eine Bank möchte die Kreditwürdigkeit potenzieller Kreditnehmer abschätzen. Einerseits lebt die Bank ja von der Vergabe von Krediten, andererseits verursachen Problemkredite
MehrPhysik & Musik. Stimmgabeln. 1 Auftrag
Physik & Musik 5 Stimmgabeln 1 Auftrag Physik & Musik Stimmgabeln Seite 1 Stimmgabeln Bearbeitungszeit: 30 Minuten Sozialform: Einzel- oder Partnerarbeit Voraussetzung: Posten 1: "Wie funktioniert ein
MehrUrlaubsregel in David
Urlaubsregel in David Inhaltsverzeichnis KlickDown Beitrag von Tobit...3 Präambel...3 Benachrichtigung externer Absender...3 Erstellen oder Anpassen des Anworttextes...3 Erstellen oder Anpassen der Auto-Reply-Regel...5
MehrKurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich
Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich Mitgliederbereich (Version 1.0) Bitte loggen Sie sich in den Mitgliederbereich mit den Ihnen bekannten Zugangsdaten
MehrDatenaufbereitung in SPSS. Daten zusammenfügen
Daten zusammenfügen I. Fälle hinzufügen Diese Schritte müssen Sie unternehmen, wenn die Daten in unterschiedlichen Dateien sind; wenn also die Daten von unterschiedlichen Personen in unterschiedlichen
MehrWordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten
Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten Version 1.0 Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten In unserer Anleitung zeigen wir Dir, wie Du Blogbeiträge
MehrUmgang mit Schaubildern am Beispiel Deutschland surft
-1- Umgang mit Schaubildern am Beispiel Deutschland surft Im Folgenden wird am Beispiel des Schaubildes Deutschland surft eine Lesestrategie vorgestellt. Die Checkliste zur Vorgehensweise kann im Unterricht
MehrAdobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost
Adobe Photoshop Lightroom 5 für Einsteiger Bilder verwalten und entwickeln Sam Jost Kapitel 2 Der erste Start 2.1 Mitmachen beim Lesen....................... 22 2.2 Für Apple-Anwender.........................
Mehr