四叉树 - 多级段树

时间:2013-02-09 16:33:43

标签: algorithm quadtree

我最近遇到了一个名为segment trees的新数据结构,然后读到它可以扩展到两个维度,但我找不到一个很好的资源来阅读它的实现细节和其他东西。 我想从在编程竞赛中使用它而不是在图形领域中学习它。使用它可以解决的一些问题也是有用的。 有人可以指点一个好的消息来阅读它吗? 感谢

2 个答案:

答案 0 :(得分:1)

有一篇关于1D段树及其代码样本的2D泛化的文章。但它是俄语,所以你可能只需要考虑代码样本=)

http://e-maxx.ru/algo/segment_tree

答案 1 :(得分:0)

我不确定你是否会找到更多关于此的消息来源。我认为让人们了解k维细分树是如何工作的。在你的位置,我会尝试解决一个可以用它完成的问题。简单的例子(我知道这个查询可以在O(1)中完成一些预处理):矩形范围和。即:给定填充数字的矩阵,回答查询,询问子矩阵的总和。 在这里,您可以使用一个semgent树来分割高度,然后在每个节点上为基于宽度的总和创建一个额外的分段树。 如果你能做到这一点,那么你就知道关于2-dim的一切。细分树。 下一个挑战是允许更新单个元素 - 这会变得更加困难,因为您必须使用一些“艺术”来正确地传播更改(想想段树中的某种类型的缓存)。 :)