title image


Smiley Programmierfrage: 100 größten Zahlen aus Array bestimmen
und das möglichst effizient.



Also ich habe einen Array mit 500.000 Int-Werten, aus diesen möchte ich die 100 Größten bestimmen. Zur Zeit sortiere ich jedesmal eine Kopie aller Werte und gebe dann die ersten 100 aus, was jedoch bei weitem zu langsam ist (trotz Quicksort).

Die werte sortiert zu halten ist leider nicht möglich da zu oft Änderungen vorgenommen werden. Nun meine Frage: Gibt es einen schnellen Algorithmus um nur die x größten zu bestimmen? Das Array muß danach wieder im Ursprungszustand sein.

In welcher Größenordnung die Werte sind ist unterschiedlich, jedoch sind ca. 70% der werte 0, alle sind positiv.



Danke für eure Hilfe!







geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: