假设我有一个值的向量,它表示分类(bin)值的类的上边界。矢量{1,3,5,10}表示箱[0,1 [,[1,3],[3,5 [和[5,10]。如何在常量时间内对这些类中的一个(0,1,2,3)实现随机值V的分类?一旦V超过垃圾箱的上限,走边界清单并停止,这是微不足道的;但是这是O(n)和箱子的数量;我期待在不变的时间做到这一点。值的恒定时间分组
我以为在实际输入代码之前,通过设置一个查找表,将每个V除以某个值(取决于类边界),然后使用该分割的(圆角)结果来查找在查找表中的bin号码。但是我发现它比我想象的要难得多,尽量使查找表的大小尽可能小,同时仍然准确,无论bin边界之间的比例距离如何;并以一种适用于所有实际价值的方式。通过Google,我只能找到确定垃圾箱边界的算法,至少使用我所做的术语。
如果这实际上是一个关于随机抽样的问题,请在Google中搜索别名方法。 –
我刚刚得知倒转方括号也表示排除元素。看看它们是否像这样彼此相邻是相当痛苦的(与[0,1]相比,这意味着相同)。 – Dukeling