interval-tree

    0热度

    2回答

    对于分段树的惰性传播算法,我还有一些不清楚的地方。根据下面的代码,在查询间隔完全重叠时,更新值只会添加到父节点,并且孩子被标记为延迟更新。但是,正如你在附图中看到的那样,如果更新完成了+4范围0,1,那么结果在两棵树中完全不同! (左图:没有惰性传播)。 void update_tree(int node, int a, int b, int i, int j, int value) { if(

    2热度

    1回答

    我正在CLRS第二版,第四版印刷,第288-9页之后为间隔树实施红黑树删除。 摘要错误的: RB-删除 - Fixup时 如果x和w是前哨淋巴结,这是RB-删除的可能的结果,那么颜色(左的评价(w)的)和RB-Delete-Fixup中的颜色(右(w))在while循环的第一次迭代中遭受空指针异常。 (if (and (= (get-color (get-left @w)) black)

    2热度

    1回答

    列表 让说,我有这样的 [[1,3], [2,5], [4,6], [8,10], [12,15], [13,17]] 范围的列表现在我想找到一个范围说[3,11]落在我的算法应该给我所有的范围都在这个范围内。例如,输出这应该是 Output - [1,3], [2,5], [4,6], [8,10] 我如何去解决呢? PS:我知道细分树可能有帮助。在哪里我可以构建树来存储间隔并查询位于间隔内的点

    1热度

    1回答

    我有一个问题的区间树来解决,我知道基本的算法,但我的代码时,我的函数返回一个值,它是主要的问题。 我遇到的问题是找到特定索引之间的最大值,并更新数组中的某个值。所以有一个包含n个数字和m个操作的初始数组。如果操作从0开始,我应该在索引x之间的最大值处进行interogation。如果操作从1开始,我应该用y更新初始向量索引x上的值。 问题是,在一些interogations它在文件中检索正确的答案

    0热度

    1回答

    我有数以百万计的文档,其中包含以下字段: name(string),start version(int),end version(int)。 我需要查询有效的所有记录,回答了查询: 选择所有文件,其中version> =“启动版”和版本< =“终结版” 运行上面的查询了50 -100毫秒,而通过标记每个版本的类似查询仅需要15毫秒。 我的问题是Solr处理这种查询的效率如何? 欢迎任何备用解决方案

    4热度

    3回答

    这与查找重叠间隔有关。我知道如何给定一个间隔列表(间隔树)。我所拥有的是间隔列表。例如, [2,6], [7,11] [1,3], [5,10], [11,13] [2,5], [6,8] 这个结果应该是 [2,3],[7,8] 我需要做的是找到所有列表中常见的间隔列表。 我看到此问题与合并n列表类似。问题是我无法应用列表的成对合并。应用此方法会导致重叠间隔的丢失。所以我需要将所有列表合并

    3热度

    1回答

    我有一组重叠区间,我必须从各自的区间中选择一个元素,这样当它们分组时,在选区中会有最小间隔。 通过分组我指的是连续的元素进行分组。如果有其他的时间间隔不连续元素的元素,然后这个被视为组一个元素 通过尽量缩小差距我的意思是,我们必须减少这些群体的数量,并尝试形成较大的 我看到了间隔树,认为这可能有帮助,但不知道如何使用我的好处 请告诉我应该采取什么方法来解决问题。 实例:通过选择上述元素 2,3,4

    10热度

    3回答

    给定大小为n的数组对于从1到n的每个k,求大小k的连续子数组的最大总和。 此问题具有时间复杂度O(N )和O(1)空间的明显解决方案。 Lua代码: array = {7, 1, 3, 1, 4, 5, 1, 3, 6} n = #array function maxArray(k) ksum = 0 for i = 1, k do ksum = ksum +

    1热度

    1回答

    所以,我应该解释一下我想如何实现它。 我的想法非常简单,我想创建每个块并通过利用每个块本地的浮点网格来确定每个顶点的位置,然后我想将体素放置在一个大的64位整数网格中(每个块的位置推断通过它的整数值,0,0,0将是中间值,20,20,20将在x,y和z轴上离开二十个块)以创建一个更大的世界,我将执行一些检查来确定块将从它们在整数网格中的位置推断出来,这是我还没有弄清楚的。 (比得到它的运行不那么重

    2热度

    1回答

    我想知道是否有人已经实现/知道将处理循环间隔的(优选JavaScript)区间树算法。通过循环,我的意思是开始>结束的时间间隔。请注意,这也需要限制间隔的大小。 这只是一个常见区间树问题的子代? 在回答提出的问题的意见: 下面是一个图片(感谢G.巴赫和维基百科)我的意思被圆形小范围: 和(无关上面的图片)这里是一个范围的例子JSON表示: [{ID: '范围1',启动:3,端:34},{ID: '