Ich habe eine unsortierte Liste von ungefähr 100 Millionen Longs, bei denen ich alle Zahlen zwischen einem kleinem und einem großen Wert haben möchte. Die Werte der Anfrage müssen aber nicht in der Liste sein.
Beispielliste:
[1,4,2,3,8]
Suche(2,5) -> return (2,3,4)
Mein bisheriger Ansatz war:
1). Liste sortieren
2). balancierten Binärbaum aufstellen
3). Beide Elemente von der Root aus suchen und dann im sortierten Array alles zwischen den Indizes zurückgeben.
Das funktioniert auch ganz gut, doch weil ich sehr viele Anfragen stellen möchte, würde es mich interessieren, ob jemand einen besseren Ansatz wüsste
Beispielliste:
[1,4,2,3,8]
Suche(2,5) -> return (2,3,4)
Mein bisheriger Ansatz war:
1). Liste sortieren
2). balancierten Binärbaum aufstellen
3). Beide Elemente von der Root aus suchen und dann im sortierten Array alles zwischen den Indizes zurückgeben.
Das funktioniert auch ganz gut, doch weil ich sehr viele Anfragen stellen möchte, würde es mich interessieren, ob jemand einen besseren Ansatz wüsste