【发布时间】:2011-03-13 16:30:52
【问题描述】:
我不会详细介绍我要解决的问题,但它处理的是一个大字符串,并涉及查找字符串中存在的重叠间隔。我只能使用其中一个重叠的区间,所以我想将这些区间分开并单独分析。我想知道使用什么算法来尽可能有效地做到这一点。
我必须强调,速度在这里是最重要的。我需要尽快分开间隔。我想到的算法是区间树,但我不确定这是否是我们能做的最好的。
可以在 O(log n) 时间内查询区间树,n 是区间数,构建需要 O(nlog n) 时间,但我想知道我们是否可以减少其中任何一个。
谢谢!
编辑:我知道这个问题很模糊。我为混乱道歉。我建议人们看看 Aaron Huran 和 cmets 的答案。这应该有助于澄清更多事情。
【问题讨论】:
-
“字符串中的重叠间隔”是什么意思?
-
String: "ThisIsATestStringToShowWhatIMeanByIntervals" 间隔:0-4, 5-13, 8-19, 10-12 这里,间隔 5-13, 8-19 和 10-12 重叠,所以,我只能使用其中之一。
-
间隔总是按起点排序吗?
-
所以间隔与正在处理的字符串无关?
-
我认为这句话“涉及查找字符串中存在的重叠区间。我只能使用重叠的区间之一,所以我想将这些区间分开并单独分析。”需要进一步澄清
标签: algorithm string performance overlap intervals