Startseite   |  Site map   |  A-Z artikel   |  Artikel einreichen   |   Kontakt   |  
  


informatik artikel (Interpretation und charakterisierung)

Einfache sortieralgorithmen


1. Java
2. Viren

Sortieralgorithmen haben die Aufgabe unsortiert Datensätze und dergleichen in einen sortierten Endzustand zu verwandeln. Sortiert wird nach dem sogenannten "Schlüssel" Dieser kann sein eine ganzzahlige Zahl, ein Buchstaben oder ein String etc. Eine unbedingt notwendige Bedienung an den Schlüssel ist, daß er für jeden Datensatz unterschiedlich ist. Ein Unterschiedlicher Datensatz darf auf keinen Fall den selben Schlüssel besitzen.


Einfache Sortierverfahren eignen sich nur für kleine Datensätze (max. 500 DS).
Der Aufwand ist höchstens N².

Als Tafelbild eignet sich ein Beispiel eines Sortiervorganges, einer ungeordneten Liste, wie sie in den Unterlagen beschrieben werden. Auch ein Vergleich mit einem anderen ist denkbar !
1.1. Sortieren durch Minimumsuche (Maximumsuche)
Die Idee: Man sucht im ersten Schleifendurchgang, den niedrigsten Schlüssel. Diesen Datensatz vertauscht man nun mit dem ersten. Beim zweiten durchlauf sucht man nun wieder den DS mit dem niedrigsten Schlüssel jedoch ab den 2.DS. Findet man diesen so wird er nun mit dem zweiten DS vertauscht......Die Anzahl der Durchgänge ist die Anzahl der DS-1, da beim Letzten gar nicht nach dem kleinsten gesucht werden muß.
Allgemein gesagt: nach i Schleifendurchgängen hat man ein Sortiertes Teilfeld der Länge i (von 1 bis i). Dieses Teilfeld ist auch am richtigen Platz. Deshalb sind nur anzahl-1 Schritte notwendig.

Bei der Maximumsuche zählt man die DS von hinten nach vorne durch und sucht jeweils den DS mit dem größten Schlüssel.

Aufwand: Vergleich zweier Schlüssel und Organisatoinsarbeit
(z.B.: Indexerhöhung)

Vertauschung
Aufwand insgesamt: N²/2 Aktionen+N Vertauschungen

höchstmöglicher Aufwand: O(N):= N²

Der Aufwand hängt nur von der Anzahl der Datensätze ab nicht von deren Anordnung.


Bespiel des Sortiervorganges:

6 7 2 1 3 9 4 5 8

1 7 2 6 3 9 4 5 8
1 2 7 6 3 9 4 5 8
1 2 3 6 7 9 4 5 8
1 2 3 4 7 9 6 5 8

1 2 3 4 5 9 6 7 8
1 2 3 4 5 6 9 7 8
1 2 3 4 5 6 7 9 8
1 2 3 4 5 6 7 8 9



1.2. Sortieren durch Einordnen
Mit Hilfe einer Schleife (von 2 bis N) zählt man jeden Datensatz durch. Der Schlüssel des momentanen angesprochen Datensatz j wird mit seinen "Vorgängerschlüsseln" verglichen und jeder größere wird um einen Platz vorgeschoben. Diesen Durchgang zählt man j-1 runter bis 1. Der Datensatz vom Platz j-1 füllt dann die entstandene Lücke bei j.
Auch hier bekommt man nach dem j-ten Durchgang ein sortiertes Teilfeld mit j Datensätzen. Jedoch ist diese Feld nicht an seiner richtigen Position.

Aufwand: 1 Schlüsselvergleich

Organisation
Umspeicherung des vollständigen Datensatzbestandes

Aufwand insgesamt: mindestens N
im Mittel N²/4

höchstens n²/2 Aktionen

Der Aufwand hängt sehr stark von der Anordnung (Vorsortierung) ab. Je gründlicher der Datenbestand bereits sortiert ist, desto weniger wird der Aufwand. im bestem Falle mit dem minimalsten Aufwand.


Beispiel des Sortiervorganges:

6 7 2 1 3 9 4 5 8

6 7 2 1 3 9 4 5 8
2 6 7 1 3 9 4 5 8

1 2 6 7 3 9 4 5 8
1 2 3 6 7 9 4 5 8
1 2 3 6 7 9 4 5 8
1 2 3 4 6 7 9 5 8
1 2 3 4 5 6 7 9 8
1 2 3 4 5 6 7 8 9





















1.3. Sortieren durch Mischen
Beim Sortieren durch Mischen werden zwei bereits sortierte Datensatzbestände zu einem großen Datenbestand zusammengemischt. Der neuentstandene Datenbestand ist ebenfalls sortiert. Man hat je Datenbestand einen Index (x1 und x2). Nun vergleicht man den Schlüssel der beiden Datensätze. Der Datensatz mit dem niederen Schlüssel wird auf das neue Feld geschrieben. Zusätzlich wird der Index derjenigen Tabelle erhöht von der der Datensatz entnommen wurde. nun vergleicht man wieder beide,.....Hat man das Ende eines Datenbestandes erreicht, so entnimmt man nur den anderen Datenbestand die einzelnen Datensätze ohne sie zu vergleichen.


Aufwand: N Aktionen
Aufwand insgesamt: N*ldN Aktionen

Ein wesentlicher Nachteil ist der große Speicherplatzbedarf. Jedoch trotzdem eine bevorzugte Methode zum sortieren von verketteten Listen.

Beispiel des Sortiervorganges:

0 3 6 8 9
1

2 4 5 7




0 3 6 8 9

1 2 4 5 7
0

0 3 6 8 9

1 2 4 5 7

0 1

0 3 6 8 9

1 2 4 5 7
0 1 2

0 3 6 8 9

1 2 4 5 7

0 1 2 3

0 3 6 8 9

1 2 4 5 7
0 1 2 3 4

0 3 6 8 9

1 2 4 5 7

0 1 2 3 4 5

0 3 6 8 9

1 2 4 5 7
0 1 2 3 4 5 6

0 3 6 8 9

1 2 4 5 7

0 1 2 3 4 5 6 7

0 3 6 8 9

1 2 4 5 7
0 1 2 3 4 5 6 7 8

0 3 6 8 9

1 2 4 5 7
0 1 2 3 5 5 6 7 8 9

 
 

Datenschutz
Top Themen / Analyse
indicator Parallele Schnittstelle -
indicator TFTP - Trivial File Transport Protocol
indicator Typ-0-Sprachen
indicator Java
indicator Hauptteil
indicator CD-Rom und MP3 - Bedrohung oder Chance?
indicator Hauptkomponenten
indicator Klassifizierung von Betriebssystemen
indicator Scannermodi
indicator Das Winsock Interface (ws.pas)


Datenschutz
Zum selben thema
icon Netzwerk
icon Software
icon Entwicklung
icon Windows
icon Programm
icon Unix
icon Games
icon Sicherheit
icon Disk
icon Technologie
icon Bildung
icon Mp3
icon Cd
icon Suche
icon Grafik
icon Zahlung
icon Html
icon Internet
icon Hardware
icon Cpu
icon Firewall
icon Speicher
icon Mail
icon Banking
icon Video
icon Hacker
icon Design
icon Sprache
icon Dvd
icon Drucker
icon Elektronisches
icon Geschichte
icon Fehler
icon Website
icon Linux
icon Computer
A-Z informatik artikel:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z #

Copyright © 2008 - : ARTIKEL32 | Alle rechte vorbehalten.
Vervielfältigung im Ganzen oder teilweise das Material auf dieser Website gegen das Urheberrecht und wird bestraft, nach dem Gesetz.
dsolution