Excel Tipps, Tricks, Test und Meinungen!


Apple-Hardware Digital-Foto Digital-Video Elektronik Notebook PC-Hardware PC-Kauftipps PC-Tuning Linux System Netzwerke Novell Windows 2000 Windows 95 Windows 98 Windows ME Windows NT Windows Vista Windows XP Access Apple-Software Backoffice CAD/CAM Corel Excel Linux Lotus PC-Grafik PC-Software Photoshop Powerpoint SQL Star-Office Word ASP C (K&R) C# -.Net C++ Delphi Dreamwaver Flash HTML/CSS Internet Java JavaScript PHP Perl Visual-Basic Webdesign XML Handy / Co. Klassik Computer PC-Allgemein Pocket-PC Sicherheit/Viren Onlinegaming PC-Games Spielekonsolen IE / Outlook NN / Mozilla Opera Fitness Gesundheit Mountainbike Car-HiFi Kfz-Allgemein Kfz-Tuning Motorrad Bücher Haustiere Heimwerken Job Musik Musikprod. Reisen Studium TV / Kino Unterhaltungselektronik
Google-Anzeigen


Hilfe zum Thema: Excel, Avlsort, Java
Fazit
Sortieralgorithmen gibt es offenbar wie Sand am Meer. Wenn ich ExcelSort nicht mitzähle (da es sich hierbei um keinen Algorithmus handelt) habe ich nun 20 verschiedene Methoden in VBA programmiert und erläutert(siehe neben diesem Thread hier Monolog über Sortieralgorithmen und Monolog über Sortieralgorithmen (2. Teil)).
Dies sind die Methoden BubbleSort, BiDiBubbleSort, OetSort, PositionSort, AllocationSort, SwirlSort, MinSort, MinMaxSort, RlxSort, MinsertionSort, GnomeSort, InsertionSort, NoNetSort, CombSort, ShellSort, HeapSort, BucketSort, MergeSort, SplitSort und QuickSort.
Schaut man sich im Web um, tauchen jedoch immer weitere auf, z.B.
Intersort (auf ActiveVB - Sortieralgorithmen)
Avlsort, Bsort, Bitonicsort, Bitonic Mergesort, Countingsort, Jumpsort, MSsort, Partitsort, Plaselsort, Radixsort, Ripplesort, Selectsort, Shakersort, Shearsort, Simplesort, Tepifsort, Trippelsort (auf Allgemeine und spezielle Sortieralgorithmen)
Binary Tree Sort, Bogosort, Introsort, Selectionsort, Cocktailsort, Slowsort, Smoothsort, Stoogesort, Swap-Sort (auf Sortierverfahren – Wikipedia)
Viele von denen sind den hier vorgestellten oftmals sehr ähnlich, manche sind einfach zu aufwendig wieder andere hab ich gar nicht kapiert. Freilich reizt das zur weiteren Vertiefung, aber einmal muss Schluss sein. ;-)
Umfangreiche Erläuterungen zu Komplexität und Speicherbedarf, Best Case, Average Case und Worst Case spare ich mir, das ist mir einfach zu aufwendig. Wen das tiefergreifend interessiert, der schaue doch bitte u.a. bei Sortierverfahren – Wikipedia vorbei.
Ich gebe hier lediglich einen Vergleich der wichtigsten Eigenschaften und der von mir gemessenen Zeiten aller Verfahren bei jeweils gleichen Datenmengen. Einige Varianten wurden nicht geprüft, da sie einfach zu zeitaufwendig wären.
Alle Algorithmen hatten exakt die gleichen Daten in der gleichen Reihenfolge zu sortieren. Es handelte sich dabei ausschließlich um natürliche Zahlen zwischen 1 und 1.000.000.
 ABCDEFGHIJ
1Eigenschaften und Zeitaufwand der Sortiermethoden in Sekunden
2Methode EigenschaftenDurchläufe (Anzahl der Elemente)
3 in-placestabilrekursiv655100065531000065536131072
4ExcelSort---0,04690,04690,0630,0780,28geht nicht
5BucketSort (*)neinjanein0,14060,14060,1550,1550,190,23
6QuickSortjaneinja0,00000,00000,0160,0310,250,58
7HeapSortjaneinnein0,00000,00000,0310,0630,501,08
8CombSortjaneinnein0,00000,00000,0470,0630,591,16
9MergeSortneinjaja0,00000,00000,0470,0780,631,33
10ShellSortjaneinnein0,00000,00000,0310,0630,631,55
11SplitSortneinjaja0,00000,01460,0780,1421,002,14
12InsertionSortjajanein0,01560,04692,2815,313235,08nicht getestet
13MinMaxSortjaneinnein0,01660,04692,4065,577240,20nicht getestet
14MinSortjaneinnein0,03130,06252,7976,531283,09nicht getestet
15MinsertionSortjaneinnein0,04690,10944,0479,469409,81nicht getestet
16NoNetSortjajanein0,04690,09384,42210,328448,30nicht getestet
17BiDiBubbleSortjajanein0,04690,11044,89011,515505,63nicht getestet
18OetSortjajanein0,06150,12505,23512,203530,23nicht getestet
19BubbleSortjajanein0,04690,12505,26612,313537,30nicht getestet
20PositionSortneinjanein0,06250,15636,34414,813644,23nicht getestet
21RlxSortneinjanein0,06250,15636,51615,188664,56nicht getestet
22GnomeSortjajanein0,07810,18658,04718,797815,00nicht getestet
23AllocationSortneinjanein0,09380,234410,37524,1721058,02nicht getestet
24SwirlSortneinneinnein2,75007,1729n. getestetn. getestetn. getestetnicht getestet
25(*) = außer Konkurrenz, da nur bedingt verwendbar


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Erläuterung der Eigenschaften:
in-place: Die Daten müssen nicht temporär dupliziert werden, Vertauschungen finden direkt im Original-Array statt
stabil: Elemente gleichen Inhalts bleiben in der ursprünglichen Reihenfolge
rekursiv: Code wird aus sich selbst heraus mehrmals aufgerufen und befindet sich daher u.U. mehrfach im Speicher
Es bleibt dabei:
QuickSort ist der schnellste Algorithmus überhaupt. Er arbeitet sogar in-place aber leider auch rekursiv und instabil.
MergeSort ist das schnellste stabile Verfahren, es arbeitet aber leider nicht in-place und ist ebenfalls rekursiv.
HeapSort ist das schnellste rein iterative (also nicht rekursive) Verfahren. Dieses arbeitet jedoch leider nicht stabil.
InsertionSort ist das schnellste stabile Verfahren, welches gleichzeitig nicht rekursiv ist und in-place arbeitet (welches also weder den Code noch die Daten duplizieren muss). Es gehört jedoch nicht zu den wirklich schnellen Verfahren (was man bei den Datenmengen über 10000 Elementen deutlich erkennen kann.
Die eierlegende Wollmilchsau unter den Sortieralgorithmen ist also noch nicht gefunden. Dies wäre ein Verfahren, welches die Merkmale
- stabil
- in-place
- nicht rekursiv
hat und trotzdem an die Geschwindigkeit von QuickSort und MergeSort heranreicht.
Es bleibt also durchaus noch was zu tun!

Google-Anzeigen


Weitere Informationen zu diesen Themen:   Sort   Excel   Mergesort  
Geschickt von rlx, Do 01.05.2008 2:17

Google-Anzeigen


Warum immer zahlen? Einfach kostenlose Software downloaden:
Kostenlose
Spiele

Kostenlos spielen!
Kostenlose
Fotosoftware

Kostenlose Fotosoftware!
Kostenlose
Terminplaner

Kostenlose Terminplaner!
Kostenlose
3D Simulatoren

Kostenlose 3D-Simulatoren!
Kostenlose
PC-Tools

Kostenlose PC-Utilities!
Kostenlose
Brettspiele

Kostenlose Brettspiele!
Kostenlose
MP3 Tools

Kostenlose MP3-Tools!

Kostenlose Android Apps für Tablet PCs wie dem Galaxy Tab und Xoom
Free android tablet app downloads: Games, Security, Antivirus, Filemanager for your Tab.
Kostenlose Software-Grundausstattung für Windows-PCs Kostenlose Software-Vollausstattung für Windows-PCs
Kostenlos spielen - Spiele Downloads ohne Limits

cs
es
fr
it
no
pl
pt
tl
tr
ru

Spotlight.de distanziert sich ausdrücklich von im Forum eingestellten Fremdinhalten jeglicher Art.


Kostenlose
Antiviren-
software!
Kostenlose Antivirensoftware!


Kostenlose
Spiele!
Kostenlose Spiele!


Android
Apps für
Tablet-PCs!
Andriod Tablet Apps z. B. für Samsung Galaxy Tab


Kostenlose
3D-
Simulatoren!
Kostenlose 3D-Simulatoren!


Kostenlose
PC-Utilities!
Kostenlose PC-Utilities!


Kostenlose
Terminplaner!
Kostenlose Terminplaner!


Kostenlose
Grafik-
software!
Kostenlose Grafiksoftware!