在 SortedDictionary 中查找最接近的值

2023-11-27

我有一个排序字典

 SortedDictionary<int, CPUOptimizationObject> myDict;

现在我想找到X上面的第一个值。 我可以做这样的事情

foreach (var iKey in MyDict.Keys)
{
   if (iKey >= thresholdKey)
   {
       foundKey = iKey;
       break;
   }
}

但这在性能方面并不是很好。
还有更好的建议吗?
(集合中是否有类似二分搜索 SortedDictionary 之类的方法?)


虽然从理论上讲,找到大于给定值的最小项是可以在二叉搜索树上高效执行的操作(这就是二叉搜索树的含义)SortedDictionary被实现为)SortedDictionary不会公开您对该数据类型执行此类搜索的方法。

您需要使用二叉搜索树的不同实现,以便有效地执行此类搜索,同时仍然使用相同类型的数据结构。没有合适的 .NET 类型;您需要使用第三方实现(其中有很多)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 SortedDictionary 中查找最接近的值 的相关文章

随机推荐