正如我从消息来源读到的那样,我了解到了这一点 最差情况复杂度 Quad树是O(N)当2D矩阵只有一个维度时。我无法理解其原因。 例如。当矩阵只有1xm时,我们将把它分成两半,并在log(m)stop中到达单元格。所以复杂性应该是log(m) 致谢
答案 0 :(得分:3)
有几种构建四叉树的方法。如果你取一个像素矩阵或任何单位,并从中取出一个四叉树,那么它的高度确实是log(n)。
但是,如果您使用它来存储一个接一个地添加的点(类似于BST),那么如果所有点都根据一个组件排序,那么您将遇到最坏情况。在这种情况下,树的高度将为n。
这种情况的一个例子如下:
每次插入节点时,它都会进入先前插入的节点的右上角,因此每个节点只有一个子节点。你最后得到的只是一个长度为n的奇怪链表。
所以,这完全取决于你如何构建你的四叉树,并没有一个独特的方案来做到这一点。这就是插入或搜索 O(n)等操作的最坏情况复杂性的原因。
答案 1 :(得分:1)
在最坏的情况下,你必须搜索到最低级别 树。考虑除了级别1的大象限/区域中的所有元素之外的所有元素的示例,并且您需要访问至少一个元素的最低级别。我需要查看您的幻灯片/书籍,但类似{{1}}的内容应该有效。