簡體   English   中英

四叉樹O(N)的最壞情況下的復雜度如何?

[英]How can worst case complexity of quad tree O(N)?

從資料中可以了解到,當二維矩陣只有一維時, 四叉樹的 最壞情況復雜度 是O(N) 。我無法理解其原因。 例如。 當矩陣只有1xm時,我們將其分為兩半,並在log(m)停下來到達單位像元。因此復雜度應該為log(m)謝謝

有幾種構建四叉樹的方法。 如果您采用像素矩陣或任何單位制成一個四叉樹,那么實際上它的高度將為log(n)。

但是,如果使用它來存儲一個接一個地添加的點(有點像BST),那么如果所有點都根據一個組成部分進行排序,則會遇到最壞的情況。 在這種情況下,樹的高度將為n。

下面是這種情況的一個示例:

  • 從一個空的四叉樹開始
  • 插入(0,0)
  • 插入(1,1)
  • 插入(2,2)
  • 插入(3,3)
  • ...
  • 插入(n-1,n-1)

每次插入一個節點時,它都會進入先前插入的節點的右上角,因此每個節點都只有一個子節點。 最后得到的只是長度為n的怪異鏈表。

因此,這完全取決於您如何構建四叉樹,並且沒有唯一的方案可以做到這一點。 這就是為什么插入搜索 O(n)等操作的最壞情況復雜度的原因。

在最壞的情況下,您必須向下搜索到樹的最低層。 考慮以下示例:當級別1的大象限/區域中除一個元素以外的所有元素,並且您需要訪問至少一個元素的最低級別。 我需要查看您的幻燈片/書,但類似於{{0,0},{0,1},{0,2},{0,3},{0,4},{0,5},{0,6},{0,63}}幻燈片{{0,0},{0,1},{0,2},{0,3},{0,4},{0,5},{0,6},{0,63}}應該可以工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM