我在想,对于那个计算,最好的方法是什么。假设我有一个值的输入数组和一个边界数组-我希望为边界数组中的每个段计算/分桶频率分布。
使用桶搜索是一个好主意吗?
实际上,我发现了这个问题Calculating frequency distribution of a collection with .Net/C#
但是我不知道如何使用桶来实现,因为在我的情况下每个桶的大小可能不同。
编辑: 经过所有讨论,我有内部/外部循环的解决方案,但我仍然希望使用字典消除内部循环,以便在这种情况下获得O(n)性能,如果我理解正确的话,需要将输入值哈希到桶索引中。所以我们需要一些具有O(1)复杂度的哈希函数?您有什么想法如何做到这一点?
Dictionary<TKey, TValue>
即可解决问题。然而,我想指出的是,二分查找非常快,可以与哈希函数解决方案相媲美。最好测试一下在您的情况下哪个更快。 - Vilx-