分割一维空间的算法

时间:2011-04-01 03:13:18

标签: algorithm intervals space-partitioning

我有两组间隔对应于相同的一维(线性)空间。这是一个粗略的视觉 - 实际上,有更多的间隔,它们更加分散,但这给出了基本的想法。

interval graphic

这些间隔中的每一个都包含信息,我正在编写一个程序来比较一组间隔(红色)中的信息与另一个间隔(蓝色)中包含的信息。

这是我的问题。我想将空间划分为 n 块,以便在每个块中进行大致相同数量的比较工作(工作量取决于该部分中的间隔数量)空间)。此外,分区不应跨越两个块分割任何红色或蓝色间隔。

因此输入是两组间隔,所需的输出是空间的分区,以便

  • 区间(大致)分布在分区的每个元素上
  • 没有区间与多个分区元素重叠

有人可以建议采用这种方法或算法吗?

1 个答案:

答案 0 :(得分:2)

将“单词”定义为每个点属于红色区间或蓝色区间的最大区间。没有一个块可以在一个单词的中间结束,并且连续单词的每个联合都是潜在的块。现在对单词应用minimum raggedness word-wrap algorithm,其中单词的长度定义为它包含的区间数(line = chunk)。