drei kleinsten zahlen aus einer menge

Neue Frage »

webhood Auf diesen Beitrag antworten »
drei kleinsten zahlen aus einer menge
hi to all,

wie kann ich aus einer menge die kleinsten drei zahlen errechnen?

menge: 3,9,2,10,11,5,8,7,1

ergebnis: 1,2,3

hintergrund: ich sollte in einem programm die jeweils 20 kleinsten zahlen aus 42 mengen hervorheben. mir ist schon klar dass man das mittels sortieren realisieren könnte jedoch finde ich das bei 42 mengen nicht gerade optimal, deshalb wäre mir eine mathematische lösung lieber.

in excel habe ich die funktion kkleinste gefunden, also muss das doch irgend wie möglich sein.

besten dank im voraus

web
cutcha Auf diesen Beitrag antworten »

Diese Excel Funktion macht auch nix anderes als sich die kleinsten Zahlen rauszusuchen, nur dass dieses Verfahren einem Computer einfacher fällt als uns Augenzwinkern
webhood Auf diesen Beitrag antworten »

bedeutet also keine mathematische lösung möglich?

web
cutcha Auf diesen Beitrag antworten »

Sortieren ist auch irgendwie eine mathematische Vorgehensweise.
kiste Auf diesen Beitrag antworten »

Das ganze ist sehr abhängig davon wie viele Elemente die Mengen enthalten und ob du irgendwann etwas an den Zahlen drehen möchtest(statt 20 kleinste die x-kleinsten)

Um das k-größte/kleinste Element zu finden kann man http://www.iti.fh-flensburg.de/lang/algo...eren/median.htm benutzen. Dieser Algorithmus braucht ca. 16n Vergleiche, n=Anzahl Elemente in der Menge.

In deinem Fall also 20*16*n naiv benutzt.

Das ist schon ziemlich viel, nimmt man eine Laufzeit von ca. 2n*log(n) Vergleichen für ein Sortierverfahren so muss n schon sehr groß sein damit sich das lohnt.

Falls die 20 Elemente fest sind bietet sich auch eine direkte Speicherung an. Dazu hälst du die aktuell 20 kleinsten in etwa einem Heap. Die Laufzeit dazu muss man auch noch abschätzen, ist mir jetzt etwas zu aufwendig Augenzwinkern

Aber sollte das ganze nicht sehr zeitkritisch sein und willst du nicht viel Zeit mit implementieren aufwenden: Sortieren
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »