Quicksort. Referat am in Proseminar "Grundlagen der Programmierung" Inhalt. 1. Geschichte und Hintergründe des Sortierproblems

Größe: px
Ab Seite anzeigen:

Download "Quicksort. Referat am 18.11.1996 in Proseminar "Grundlagen der Programmierung" Inhalt. 1. Geschichte und Hintergründe des Sortierproblems"

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

Ü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

Mehr

1 topologisches Sortieren

1 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

Mehr

geben. 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 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

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen 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

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Sortieren 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 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

Mehr

Algorithmen und Datenstrukturen

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

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. 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)

Ü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

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. 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

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

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

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests 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

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle 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

Mehr

Anhand des bereits hergeleiteten Models erstellen wir nun mit der Formel

Anhand 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

Mehr

Sortieren. Eine Testmenge erstellen

Sortieren. 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

Mehr

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS 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

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binä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

Mehr

Sortierverfahren für Felder (Listen)

Sortierverfahren 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

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht 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

Mehr

1 Mathematische Grundlagen

1 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.

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen 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

Mehr

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Das 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

Mehr

Einfügen von Bildern innerhalb eines Beitrages

Einfü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

Mehr

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Anleitung 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

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. 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

Mehr

Programmieren I. Kapitel 7. Sortieren und Suchen

Programmieren 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

Mehr

Inventur. Bemerkung. / Inventur

Inventur. 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

Mehr

Anleitung über den Umgang mit Schildern

Anleitung ü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

Mehr

Theoretische Informatik SS 04 Übung 1

Theoretische 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

Mehr

Sortierverfahren. Sortierverfahren für eindimensionale Arrays

Sortierverfahren. 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

Mehr

ALP I. Funktionale Programmierung

ALP 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

Mehr

Informationsblatt Induktionsbeweis

Informationsblatt 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

Mehr

Kapitalerhöhung - Verbuchung

Kapitalerhö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.

Mehr

Plotten von Linien ( nach Jack Bresenham, 1962 )

Plotten 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

Mehr

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Austausch- 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:

Mehr

Sowohl die Malstreifen als auch die Neperschen Streifen können auch in anderen Stellenwertsystemen verwendet werden.

Sowohl 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

Mehr

Abschnitt: Algorithmendesign und Laufzeitanalyse

Abschnitt: 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

Mehr

Wü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!.

Wü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

Mehr

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Das 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

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. 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:

Mehr

MATHEMATIK 3 STUNDEN. DATUM: 8. Juni 2009

MATHEMATIK 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

Mehr

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

Eva 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

Mehr

4 Aufzählungen und Listen erstellen

4 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

Mehr

Vorlesung Dokumentation und Datenbanken Klausur

Vorlesung 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

Mehr

Zahlen auf einen Blick

Zahlen 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.

Mehr

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12 Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben

Mehr

Festplatte defragmentieren Internetspuren und temporäre Dateien löschen

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

Mehr

A1.7: Entropie natürlicher Texte

A1.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

Mehr

Kreativ visualisieren

Kreativ 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

Mehr

Die 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.

Die 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,

Mehr

Unterrichtsmaterialien 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 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

Mehr

Kulturelle Evolution 12

Kulturelle 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

Mehr

Zahlenoptimierung Herr Clever spielt optimierte Zahlen

Zahlenoptimierung 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

Mehr

Belichtung mit Tonwertkorrektur verbessern

Belichtung 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

Mehr

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1

Zahlenwinkel: 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

Mehr

SICHERN DER FAVORITEN

SICHERN 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

Mehr

1. Einführung. 2. Die Abschlagsdefinition

1. 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

Mehr

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1

3.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 !"# $ " %& 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

Mehr

Kurzanleitung MAN E-Learning (WBT)

Kurzanleitung 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

Mehr

Die Größe von Flächen vergleichen

Die 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

Mehr

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Stellen 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.

Mehr

AUSBILDUNG eines OBEDIENCE HUNDES

AUSBILDUNG 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

Mehr

7 Rechnen mit Polynomen

7 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

Mehr

Datenexport aus JS - Software

Datenexport 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

Mehr

Erstellen von x-y-diagrammen in OpenOffice.calc

Erstellen 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

Mehr

Erwin Grüner 09.02.2006

Erwin 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

Mehr

15 Optimales Kodieren

15 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

Mehr

Durch Wissen Millionär WerDen... Wer hat zuerst die Million erreicht? spielanleitung Zahl der spieler: alter: redaktion / autor: inhalt:

Durch 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.

Mehr

Algorithmen & Datenstrukturen 1. Klausur

Algorithmen & 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

Mehr

Dieses erste Kreisdiagramm, bezieht sich auf das gesamte Testergebnis der kompletten 182 getesteten Personen. Ergebnis

Dieses 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

Mehr

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Einrichten 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

Mehr

Charakteristikum des Gutachtenstils: Es wird mit einer Frage begonnen, sodann werden die Voraussetzungen Schritt für Schritt aufgezeigt und erörtert.

Charakteristikum 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

Mehr

Leitfaden #1a. "zanox Publisher-Statistik" (next generation)

Leitfaden #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

Mehr

Data Mining: Einige Grundlagen aus der Stochastik

Data 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

Mehr

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Diese 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,

Mehr

Kapitel 6. Komplexität von Algorithmen. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

Kapitel 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

Mehr

12. Dokumente Speichern und Drucken

12. 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

Mehr

EM-Wellen. david vajda 3. Februar 2016. Zu den Physikalischen Größen innerhalb der Elektrodynamik gehören:

EM-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

Mehr

L10N-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 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

Mehr

CSS-Grundlagen. Etwas über Browser. Kapitel. Die Vorbereitung

CSS-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

Mehr

Folgeanleitung für Klassenlehrer

Folgeanleitung 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

Mehr

icloud nicht neu, aber doch irgendwie anders

icloud 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

Mehr

EasyWk DAS Schwimmwettkampfprogramm

EasyWk 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

Mehr

sondern 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 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

Mehr

Leichte-Sprache-Bilder

Leichte-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

Mehr

EINMALEINS BEZIEHUNGSREICH

EINMALEINS 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

Mehr

Partnerportal Installateure Registrierung

Partnerportal 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

Mehr

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Systeme 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

Mehr

40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.

40-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

Mehr

SAMMEL DEINE IDENTITÄTEN::: NINA FRANK :: 727026 :: WINTERSEMESTER 08 09

SAMMEL 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

Mehr

Tutorial: Homogenitätstest

Tutorial: 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

Mehr

Physik & Musik. Stimmgabeln. 1 Auftrag

Physik & 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

Mehr

Urlaubsregel in David

Urlaubsregel 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

Mehr

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich

Kurzanleitung 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

Mehr

Datenaufbereitung in SPSS. Daten zusammenfügen

Datenaufbereitung 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

Mehr

Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten

Wordpress: 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

Mehr

Umgang mit Schaubildern am Beispiel Deutschland surft

Umgang 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

Mehr

Adobe 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 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