Programmierer, die von PC -und Web- Entwicklung wechseln in Codierung für mobile Geräte oder eingebettete Systeme feststellen, dass mehr Zeit damit verbracht , ist die Auswahl und Kodierung ihre eigenen Datenstrukturen und Algorithmen . Mit weniger Speicher und begrenzte Datenspeicherung, gibt es keinen Raum für vorgefertigte Bibliotheken oder Frameworks . Also für diejenigen , die ihre eigene Sortier -Routinen schreiben müssen , sind hier einige Überlegungen zur Wahl der Geringen bubble sort . Hintergrund
Die Bubble-Sort ist ein einfacher Algorithmus sortiert eine Liste der Elemente im Speicher. Da ein Array , wird der Code immer wieder vergleicht jedes Paar benachbarter Elemente und Swaps , wenn sie nicht in Ordnung sind. Der Vorgang wiederholt sich , bis keine mehr Swaps auftreten . Wenn es möglich wäre , um das Array anzuzeigen, während die Art im Gange ist, die niedrigen Werte würden " Blase" nach oben, während die großen Werte zu Boden sinken würde . Hier ist der entsprechende Code in Visual Basic 2010 :
Während Swap = True
Swap = False
For i = 0 To tbl.length - 2
Wenn tbl ( i) > tbl (i + 1 ) Then
tmp = tbl ( i)
tbl (i) = tbl (i + 1) german
tbl (i + 1) = tmp
Swap = True
End If Next
End While
Wenn um die Bubble Sort
Dieser Algorithmus hat mehrere Vorteile Wählen . Es ist einfach zu schreiben, einfach zu verstehen und es dauert nur ein paar Zeilen Code . Die Daten werden an Ort und Stelle sortiert, so gibt es wenig Speicher-Overhead und einmal sortiert , werden die Daten im Speicher , bereit für die Verarbeitung. Der größte Nachteil ist die Höhe der Zeit es braucht, um zu sortieren. Die durchschnittliche Zeit steigt annähernd exponentiell als die Anzahl der Elemente Tisch zu. Zehn Mal die Anzahl der Elemente nimmt fast hundert Mal so lange zu sortieren .
Andere Array Sortiert
Sortieralgorithmen in Komplexität , Geschwindigkeit und Overhead variieren. Der Bubble-Sort ist die am wenigsten komplexe, aber auch eine der langsamsten . Andere Array-basierte Sorten wie die Insertion Sort und Austausch Art sind ein wenig schneller, aber nehmen mehr Code (siehe die Hinweise unten). Der wesentliche Vorteil der Array-basierten Sorten sind , dass sie die am wenigsten Code verwenden und die geringste Menge an Arbeitsspeicher. Betrachten Sie diese Art für einfache Arrays mit weniger als ein paar hundert Artikel .
Complex Sortieren Algorithmen
Größere Datenmengen erfordern komplexere Code und mehr Speicher. Die schnelle Art und Heap-Sort sowohl Split und kopieren Sie die Datensätze , die Anzahl der Vergleiche zu optimieren. Die schnelle Art dividiert kontinuierlich die Liste dann wieder zusammen in sortierter Reihenfolge . Der Haufen sortieren kopiert die Daten in einer Baumstruktur durchquert dann den Baum, um die Daten wieder in Ordnung zu kopieren . Beide sind schnell und effizient, aber nehmen mehr Code und vieles mehr Arbeitsspeicher . Wählen Sie diese Algorithmen für große Datenmengen .