Title:

Quicksort

Description:  Grundlagen der Programmierung. Geschichte und Hintergründe des Sortierproblems.
Author:Florian Michahelles
deutsch
  
ISBN: 3423050012   ISBN: 3423050012   ISBN: 3423050012   ISBN: 3423050012 
 
|<< First     < Previous     Index     Next >     Last >>|
  Wir empfehlen:       
 

Quicksort


"Grundlagen der Programmierung"

Folie 1

1. Geschichte und Hintergründe des Sortierproblems
 - erste Entwicklungen in Amerika Ende 19.Jh (Volkszählung alle 10 Jahre üblich)
 - Interesse an versch. Statistiken => Sortierverfahren (bisher: Handarbeit)
 - Hollerith: batteriebetriebene Sortiermaschine mit Lochkarten
   * Loch: Kontakt zwischen Nadel und Unterlage => Klappe öffnen
   * 1 Angestellter kann in 6,5h 19071 Karten bearbeiten
 - steigende Bevölkerung: Sortiermaschinen mit autom. Papierzuführung (1901/04)
 - 1930 erste programmierbare Computer => eröffnet neue Dimensionen
 - Interesse an Sortierproblem unweigerlich mit Computerentwicklung verbunden
 - so alt wie Computer selbst
   => unzählig viele Sortier-Algorithmen


2. Theoretische Grundlagen

2.1 Das Sortierproblem
 - Sortieren (lat. sors, -tis Rang, Ordnung) = "in Ordnung bringen"
 - Ordnung: in bezug auf Größe (opt. Ordnung), Zahlenwerte (PLZs), Alphabet
 - soll späteres Suchen vereinfachen 
 - exakte Darstellung:
   Sei A Alphabet oder eine geordnete Menge von Elementen
   Sei v = v1,, v2, ..., vn E An
   nach Ordnung soll gelten: vi <= vi+1 für i = 1, 2, ..., n-1.
   Ges.: Permutation Pi: {1, 2, ..., n} -> {1, 2, ..., n},
   so daß vPi(1), vPi(2), ..., vPi(n) geordnet (in Bezug auf A)


2.2 Definition einiger Fachbegriffe
 - zur Bewertung von Algorithmen einige Fachbegriffe notwenig
   Schlüssel (engl. key) = Wert eines Elementes der zu sortierenden Menge
   Stabilität = Maß für die Beibehaltung der Reihenfolge gleicher Schlüssel
   Inversionszahl = Maß der Unordnung einer Permutation
   Beispiel: Folge v = (25 58 01 08 76 06 24)
           Pi = ( 5  6  1  2  7  3  4); (zugehörige ordnende Permutation)
           Alpha (25 58 01 08 76 06 24) = 11;
   Ordnungsverträglichkeit = Ausnutzung bestehender Teilordnung(en)

3. Elementare Sortieralgorithmen
 - wichtig, da mit komplexeren Algorithmen kombinierbar
 - für kleine Datenmengen oft ausreichend (weniger Fehler Sedgewick)

3.1 Bubblesort
 - einer der bekanntentesten Algorithmen
 - Prinzip des direkten Austausches:
   * aufeinander folgende Paare werden verglichen, ggf. vertauscht
   * Feld N-1 durchlaufen
   (am Overhead mit Münzen zeigen!)
 - Feld senkrecht: Zahlen steigen, wie Blasen (engl. Bubbles), nacheinander auf
 - Tracetabelle (Folie!)
   * letzten drei Durchläufe unnötig
   * FOR-NEXT-Schleife wird stur durchlaufen
 - Verbesserung: prüfen, ob überhaupt noch Vertauschungen stattfinden


  Kurzanalyse: Zahl C[i] der Vertauschungen im i-ten Durchlauf: (n-i)
  insgesamt: C = (n2 - n) / 2
  Zahl M[i] der Beweungen im i-ten Durchlauf: zwischen 3*(n-i) und 0
  im Mittel: 3 * (n - i) / 2
  insgesamt:M[min] = 0
	    M[mit] = 3 * (n2 - n) / 4
	    M[max] = 3 * (n2 - n) / 2
=> Komplexität von O(n2)
 - instabil



  
Bürgerliches Gesetzbuch BGB: mit Allgemeinem Gleichbehandlungsgesetz, BeurkundungsG, BGB-Informationspflichten-Verordnung, Einführungsgesetz, ... Rechtsstand: 1. August 2012
Siehe auch:
Handelsgesetzbuch HGB: ohne Seehandelsrecht, mit …
Strafgesetzbuch StGB: mit Einführungsgesetz, …
Grundgesetz GG: Menschenrechtskonvention, …
Arbeitsgesetze
Basistexte Öffentliches Recht: Rechtsstand: 1. …
Aktiengesetz · GmbH-Gesetz: mit …
 
   
 
     
|<< First     < Previous     Index     Next >     Last >>| 

This web site is a part of the project StudyPaper.com.
We are grateful to Florian Michahelles for contributing this article.
Author's homepage.

Back to the topic site:
StudyPaper.com/Startseite/Computer/Informatik/Programmieren

External Links to this site are permitted without prior consent.
   
  deutsch  |  Set bookmark  |  Send a friend a link  |  Copyright ©  |  Impressum