0

たとえば、次のエントリを持つ Android アプリケーションに JSONArray があります。

[start : 0.100 ,  stop : 2.312]
[start : 2.313 ,  stop : 4.565]  
[start : 4.566 ,  stop : 7.898]
...
...
...
[start 85.123 ,   stop : 97.659]

今、値 = 86.235 を与えているので、この数値がそれより大きいか小さいかのインデックスを取得したい

開始 <= 値 <= 停止

エントリを探すたびに配列全体をトラバースする必要はありませんか? これは、これを別のデータ構造にマッピングすることで可能ですか、それとも配列内のどの項目がこれより大きいか小さいかを調べるために毎回配列をトラバースする必要がありますか?

4

1 に答える 1

2

ソートされている場合。最速は二分探索です。の要件を満たしていること

エントリを探すたびに配列全体をトラバースする必要はありませんか?


O (logn) < n であるため。

于 2013-02-02T16:57:51.127 に答える