我想生成一些样本数据来处理不同类型的间隔,并希望确保表示所有可能的间隔关系。
对于我来说,{meets,overlaps,is-finished by}是等价的,equals可以忽略,{B starts,A contains }也是等价的。我还将假设所有的间隔都被排序和标记,使得A在B之前开始,B在C之前开始等等。因此,我基本上对三种情况感兴趣:
B之前的
引入第三个间隔会产生更多的情况:
尽管在A在B之前的情况下,A总是在C之前,但对于我们也需要考虑A和C的关系的其他变体来说,情况并非如此:
对于给定的区间数,可能存在多少种不同的关系组合?
生成这些组合的算法是什么?
例如,对于两个间隔的情况,算法可能会产生以下输出来求解:
combination, interval name, start, end
1, A, 1, 2
1, B, 3, 4
2, A, 1, 4
2, B, 2, 3
3, A, 1, 3
3, B, 2, 4
编辑:根据MBo的回答,添加了四个区间的解决方案可视化。
https://stackoverflow.com/questions/56217214
复制相似问题