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


informatik artikel (Interpretation und charakterisierung)

Merge sort (sortieren durch mischen)


1. Java
2. Viren

Beschreibung . Das Verfahren arbeitet rekursiv nach dem Divide & Conquer - Prinzip.
. Die Folge wird rekursiv bis zur trivilaen Teilfolge der Länge 1 zerteilt (Divide).
. Diese Teilfolgen werden jeweils durch Merging vereint, die vereinten wiederum. etc. bis zur sortierten Gesamfolge (Conquer).
. Es wird ein zusätzliches Hilfsfeld Ziel von der gleichen Größe wie die zu sortierende Gesamtfolge benötigt.
Programmcode
procedure MergeSort ( var f : TArray; HighIndex : integer ) : string;

var Ziel : TArray; // Hilfsfeld zum Einsortieren für die Procedure Merge

procedure Merge ( links, mitte, rechts : integer );
var h, i, j, k : integer;
begin
i := links; // Index des linken Teilfeldes
j := mitte + 1; // Index des rechten Teilfeldes
k := links; // Index des (sortierten) Hilfsfeldes

repeat

if f[i] < f[j]
then begin ziel[k] := f[i]; inc (i); end
else begin ziel[k] := f[j]; inc (j); end;
inc (k);
until (i > mitte) or (j > rechts);


if i > mitte
then for h := j to rechts do ziel [k+h-j] := f[h]
else for h := i to mitte do ziel [k+h-i] := f[h];

for h := links to rechts do f[h] := Ziel [h]; // zurückkopieren ins Datenfeld
end; // subproc Merge

procedure rMergeSort (links, rechts : integer);

// rekursiver Teil des MergeSorts
var mitte : integer;
begin
if links < rechts

then begin
mitte := (links + rechts) div 2;
rMergeSort (links , mitte ); // sortieren des linken Teils
rMergeSort (mitte+1 , rechts); // sortieren des rechten Teils
Merge (links, mitte, rechts); // zusammenmischen der beiden Teile
end;

end; // SubProc MergeSort


begin // MergeSort
rMergeSort (0, HighIndex);

end; // MergeSort


Aufwandsabschätzung
Aufwand:
. Die Datenmenge wird in n Teile zerlegt. Dazu sind insgesamt ld(n) Rekursionsschritte notwendig.
. Im Durchschnitt werden n/2 Elemente miteinander gemischt.

Daraus folgt der Aufwand .
worst-case-Aufwand:

w.o.
Sortierdauer

Bemerkung:
Die etwas seltsame Krümmung der Graphen entsteht dadurch, daß die gemessene Zeit sehr klein ist (nicht einmal eine Sekunde) und die Datenmenge groß. Dadurch ist jede Betriebssystemaktivität wie z.B. Seitenauslagerungen zu sehen.

 
 

Datenschutz
Top Themen / Analyse
indicator Systementwickler
indicator Das LAN-Netzwerk
indicator Die Funktionen der SQS
indicator Digitale Schnittstellen (RS232, V.24)
indicator Internet --- -
indicator Internet-Zugänge: Vergleich und Beschreibung von Standleitung, DSL, ISDN, Analog
indicator Der Bildschirm
indicator Elektronischer Kaufvertrag
indicator Besonderheiten
indicator Was sind die Aufgaben von ICANN?


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