小编Wil*_*nga的帖子

Fenwick树与段树

我需要计算数组范围内的总和,所以我遇到了 Segment Tree 和 Fenwick Tree,我注意到这两种树都以相同的渐近运行时间进行查询和更新。我做了更多的研究,这两种数据结构似乎以相同的速度完成所有事情。两者都具有线性内存使用量(段树使用量是其两倍)。

除了运行时间/内存和实现中的恒定因素之外,还有什么理由让我选择一个而不是另一个?

我正在寻找一个客观的答案,例如某些操作比另一个更快,或者可能某个限制另一个没有。

我看到了另外 2 个关于此的 StackOverflow 问题,但答案只是描述了这两种数据结构,而不是解释何时一个可能比另一个更好。

algorithm tree fenwick-tree segment-tree

12
推荐指数
3
解决办法
3765
查看次数

Java String.join 还要在末尾添加分隔符

我有数组["a", "b", "c"],我想将它们连接在一起形成“a#b#c#”。String.join 只会让我“a#b#c”。我不能只是这样做str += "#",因为这很慢(Java 必须创建一个新字符串才能做到这一点)。因此,我必须使用StringBuilder. Java 是否有一些方法基本上是 String.join,但还将分隔符附加到末尾?

对于更多的上下文,我正在尝试使用一组字符串创建一个后缀数组数据结构,因此这部分实际上是一个瓶颈。

java string

5
推荐指数
2
解决办法
146
查看次数

标签 统计

algorithm ×1

fenwick-tree ×1

java ×1

segment-tree ×1

string ×1

tree ×1