Ich habe ein Array von sortierten Ints mit 1.000 oder mehr Werten (kann bis zu 5000+ sein). Ich muss eine Funktion schreiben, die ein int empfängt und ein bool basierend auf dem Element zurückgibt, das sich in dem Array befindet. Ich weiß, dass ich eine for-Schleife mit einer Pause schreiben kann, ich weiß, dass ich jquery .InArray verwenden kann.
Was wäre der beste Weg dies zu implementieren, WISSEN, dass das Array sortiert ist.
Danke.
Ich denke, dass Sie eine binäre Suchroutine verwenden möchten. Eine binäre Suchroutine ist wobei eine lineare Suche im Durchschnitt .
Es gibt viele Variationen, um ein Formular zu wählen. Hier ist eine, die ich in diesem Artikel gefunden habe:
%Vor%Oder diese einfachere Version von diesem Artikel , die eine binäre Suchfunktion in einer Vielzahl von Sprachen hat.
%Vor%Es gibt auch eine binäre Suche in Google Closure mit dem Code hier .
Und eine gute Beschreibung, wie der binäre Suchalgorithmus auf Wikipedia funktioniert.
Wenn das Array sortiert ist, dann ist die Antwort sortiert - benutze einen binären Chop.
Wenn Sie Suchvorgänge mehr als einmal durchführen, migrieren Sie zu einem kartenähnlichen Objekt.
Tags und Links javascript arrays sorted