Welchen Sortieralgorithmus verwenden?

Gast #3468442
Lesenswert?

Hallo,

ich habe ein Sensor-IC im Einsatz, das über einen dedizierten 48bit-DSP 
verfügt. Dieser wird in Assembler programmiert, eine andere 
Entwicklungsumgebung steht nicht zur Verfügung, aber das ist auch nicht 
weiter tragisch. Die Sensordaten liegen in 48bit breiten Registern und 
ich möchte diese nun gern im DSP filtern. Dazu habe ich an ein 
Median-Filter gedacht. Dafür gibt es ja die verschiedensten 
Implementierungen, doch welche ist für mich die geeignetste? Quick Sort? 
Bubble Sort?
Die Filterung soll irgendwo zwischen 3 und 9 Werten liegen. Könnt ihr 
mir bei der Wahl helfen?

Dank euch.
#3468489
Lesenswert?

ElektronikFreak schrieb:
> Bei 3 Werten brauchst du keinen Sortieralgorithmus, das geht per
> Fallunterscheidung.
> Die Laufzeitkomplexität von Quicksort ist zwar für große Mengen besser
> (nlog(n)), das lohnt sich aber für diese Fälle nicht, da die
> Vorbereitungsarbeit (Einsinken) zu lange dauert. Ich würde Shellsort
> nehmen: http://de.wikipedia.org/wiki/Shellsort

Ich habe schon darauf hingewiesen, dass man gar nicht sortieren muss. 
Shellsort ist massiv schlechter als ein Selection Algorithmus.

Falls deine Filtergrößen tatsächlich überschaubar gross (3-9) sind, dann 
kannst du dir z.B. mit diesem Perl Modul ein spezielles Sorting Network 
erstellen lassen, welches nur den Median bestimmt:

http://search.cpan.org/~fractal/Algorithm-Networksort-Chooser-0.100/bin/algorithm-networksort-chooser

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren