Javascript &引用;通告";区间树算法

Javascript &引用;通告";区间树算法,javascript,algorithm,interval-tree,Javascript,Algorithm,Interval Tree,我想知道是否有人实现/知道(最好是javascript)处理循环间隔的间隔树算法。所谓循环,我指的是开始>结束的间隔。注意,这也需要对间隔的大小设置上限 这只是常见的区间树问题的一个子类吗 针对评论中提出的问题: 下面是我所说的圆形子范围的图像(感谢G.Bach和维基百科): (与上图无关)下面是范围的json表示示例: [{id:'range1',开始:3,结束:34},{id:'range2circular',开始:30,结束:6}] 希望 谢谢 听起来与背后的想法有关(但不是图形本身,因为

我想知道是否有人实现/知道(最好是javascript)处理循环间隔的间隔树算法。所谓循环,我指的是开始>结束的间隔。注意,这也需要对间隔的大小设置上限

这只是常见的区间树问题的一个子类吗

针对评论中提出的问题: 下面是我所说的圆形子范围的图像(感谢G.Bach和维基百科):

(与上图无关)下面是范围的json表示示例: [{id:'range1',开始:3,结束:34},{id:'range2circular',开始:30,结束:6}]

希望


谢谢

听起来与背后的想法有关(但不是图形本身,因为您从间隔开始,并不关心它们的圆弧图表示)

假设是这样,这意味着这个域可以用一个类似于圆度数的周期来表示。然后有一个最小可能值
min
和一个最大可能值
max=min+1*period
,首先要找到最小的
s
,这样整数
k
start=min+s+k*period
(基本上,这是一个模运算),同样地,你可以找到最小的
e
,这样
end=min+e+j*周期


现在,您可以使用
s>e
将间隔表示为
(s,e)
。将其分为两个区间
(s,max)
(min,e)
,将它们放入区间树中,并为它们提供对原始区间
(开始,结束)
的引用。如果以可能重叠一个周期的
n
间隔开始,则在树中以
2n
间隔结束,并且渐近边界保持不变。

请提供一些示例。如果间隔为
(开始,结束),您可以简单地反转这些间隔中的每一个长度为负的间隔
开始>结束
然后存储
(结束,开始,R)
,R注意到该间隔是反向的。您可以使用正常间隔树,然后从
R
中知道给定结果的开始和结束是反向的。您的值来自哪个域?它们是如何循环的?@DanD.:不完全是这样,因为你还必须反向搜索。我看不到限定符“循环”和边界反转“开始>结束”之间有任何逻辑联系。我认为你告诉我们的事情不对。