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
MinsertionSort - die Kombination von MinSort und InsertionSort
Dieser Algorithmus ist auch auf meinem Mist gewachsen, aber er ist nur entstanden, weil ich beim ersten Versuch, RlxSort zu visualisieren, durch Beschreiben eines temporären Arrays einen bestimmten Effekt erzielt hatte, den kein anderer Algorithmus zeigte.
Allerdings war die Visualisierung falsch, sie zeigte ein Verhalten, welches RlxSort an sich gar nicht hat.
So habe ich dann diesen Algorithmus entwickelt, der tatsächlich genau so vorgeht, wie es die ursprüngliche Visualisierung von RlxSort vorgegaukelt hat. Wer wissen will, was ich meine, muss sich die Visualisierung vom MinsertionSort eben mal ansehen: Es scheint so, als ob die unsortierten Werte "zusammengeschoben" werden.
Die Vorgehensweise ist recht einfach: Zunächst wird das Array komplett durchgegangen und dabei der kleinste Wert gesucht, so wie bei MinSort. Die Position dieses Wertes merkt sich das Programm. Der gefundene Wert wird dann an den Anfang des Arrays geholt, allerdings nicht durch den direkten Tausch mit dem ersten Wert (wie bei Minsort), sondern indem auch alle anderen Werte, die zwischen dem ersten und der Position des gefundenen kleinsten Wertes liegen, um eins "nach hinten" verschoben werden (wie bei InsertionSort). Der zweite Durchlauf beginnt dann mit dem zweiten Wert, der dritte mit dem dritten usw.
Es handelt sich somit um eine Kombination aus MinSort und InsertionSort, daher der Kunstname "Minsertion" (aus Minimum und Insertion). In Punkto Geschwindigkeit kann MinsertionSort jedoch seinen beiden Vorbildern nicht das Wasser reichen, weil es hier pro äußerem Schleifendurchlauf zwei innere Schleifendurchläufe gibt.


      
Sub MinsertionSort(aDaten())
    
Dim minPos As Long, x As Long, y As Long, z As Long, minWert
    minPos = 0
    
For y = 1 To UBound(aDaten)
        minPos = y
        
For x = y + 1 To UBound(aDaten)
            
If aDaten(x) < aDaten(minPos) Then
                minPos = x
            
End If
        
Next
        minWert = aDaten(minPos)
        
For z = minPos To y + 1 Step -1
            aDaten(z) = aDaten(z - 1)
        
Next
        aDaten(y) = minWert
    
Next
End Sub 

Code eingefügt mit Syntaxhighlighter 3.0






Excel: MinsertionSort - die Kombination von MinSort und InsertionSort
Google-Anzeigen


Weitere Informationen zu diesen Themen:   Minsort   Algorithmus   Insertionsort  
Geschickt von rlx, Do 01.05.2008 2:00

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!