有没有比对非线性 bin 分布进行二分搜索更有效的方法来计算直方图?
我实际上只对将键(值)与 bin(传递函数?)匹配的算法位感兴趣,即对于一堆浮点值,我只想知道每个值的适当 bin 索引。
我知道,对于线性 bin 分布,您可以通过将值除以 bin 宽度来获得 O(1),而对于非线性 bin,二进制搜索可以获得 O(logN)。我当前的实现对不等的 bin 宽度使用二进制搜索。
本着提高效率的精神,我很好奇是否可以使用散列函数将值映射到其适当的 bin 并在宽度不等的 bin 时实现 O(1) 时间复杂度?