Generic SortedList,如何查找大于搜索键的第一个元素的索引?

时间:2009-06-08 19:49:55

标签: c# generics

不使用扩展方法(LINQ)。不幸的是,我被限制在.NET 2.0中。 (是的,很糟糕)

寻找接近O(log(n))的东西。

感谢您的帮助。

3 个答案:

答案 0 :(得分:5)

要查找大于给定密钥的第一个密钥,您可以使用密钥列表SortedList<T>.Keys并在密钥上执行Binary SearchInterpolation Search。这将产生O(log(n))MSDN表示关键查找为O(1))。

答案 1 :(得分:2)

二进制搜索它以进行O(n log n)查找。

答案 2 :(得分:0)

搜索oder O(log n)二进制搜索中的内容

搜索O(n)线性的顺序。如果事情不顺利,就无法做得更好。

按顺序按顺序生成值的想法需要O(n * log(n)),除非你要反复执行此操作并缓存结果为什么要打扰?只需使用线性搜索。

(注意你觉得你有兴趣搜索价值而非关键)