四叉樹是一種樹資料,其中每個結點恰好有四個子結點:topleft、topright、bottomleft 和 bottomright。四叉樹通常被用來劃分乙個二維空間,遞迴地將其細分為四個象限或區域。
我們希望在四叉樹中儲存 true/false 資訊。四叉樹用來表示 n * n 的布林網格。對於每個結點, 它將被等分成四個孩子結點直到這個區域內的值都是相同的。每個節點都有另外兩個布林屬性:isleaf 和 val。當這個節點是乙個葉子結點時 isleaf 為真。val 變數儲存葉子結點所代表的區域的值。
例如,下面是兩個四叉樹 a 和 b:
a:+--
-----+
-------
+ t:
true||
| f:
false
| t | t |||
|+-------
+-------+
|||| f | f |||
|+-------
+-------+
topleft: t
topright: t
bottomleft: f
bottomright: fb:+
-------
+---+
---+|
| f | f |
| t +---
+---+
|| t | t |+--
-----+
---+--
-+||
|| t | f |||
|+-------
+-------+
topleft: t
topright:
topleft: f
topright: f
bottomleft: t
bottomright: t
bottomleft: t
bottomright: f
你的任務是實現乙個函式,該函式根據兩個四叉樹返回表示這兩個四叉樹的邏輯或(或並)的四叉樹。
a: b: c (a or b):+
-------
+-------+
+-------+
---+--
-++--
-----+
-------
+|||
|| f | f |||
|| t | t |
| t +---
+---+
| t | t |||
||| t | t |||
|+-------
+-------+
+-------+
---+--
-++--
-----+
-------
+|||
||||
||| f | f |
| t | f |
| t | f |||
||||
|||+
-------
+-------+
+-------+
-------
++-------
+------
-+
相關題目:leetcode 427. 建立四叉樹(遞迴)
/*
// definition for a quadtree node.
class node
node(bool _val, bool _isleaf, node* _topleft, node* _topright, node* _bottomleft, node* _bottomright)
};*/
class
solution
else
if(q1-
>isleaf)
else
//q2->isleaf
}else
//q1,q2都不是葉子,其下面有true,有false
Leetcode 427 建立四叉樹
我們想要使用一棵四叉樹來儲存乙個 n x n 的布林值網路。網路中每一格的值只會是真或假。樹的根結點代表整個網路。對於每個結點,它將被分等成四個孩子結點直到這個區域內的值都是相同的.每個結點還有另外兩個布林變數 isleaf 和 val。isleaf 當這個節點是乙個葉子結點時為真。val 變數儲存...
四叉樹與八叉樹
前序 四叉樹或四元樹也被稱為q樹 q tree 四叉樹廣泛應用於影象處理 空間資料索引 2d中的快速碰撞檢測 儲存稀疏資料等,而八叉樹 octree 主要應用於3d圖形處理。對遊戲程式設計,這會很有用。本文著重於對四叉樹與八叉樹的原理與結構的介紹,幫助您在腦海中建立四叉樹與八叉樹的基本思想。本文並不...
四叉樹與八叉樹
前序 四叉樹或四元樹也被稱為q樹 q tree 四叉樹廣泛應用於影象處理 空間資料索引 2d中的快速碰撞檢測 儲存稀疏資料等,而八叉樹 octree 主要應用於3d圖形處理。對遊戲程式設計,這會很有用。本文著重於對四叉樹與八叉樹的原理與結構的介紹,幫助您在腦海中建立四叉樹與八叉樹的基本思想。本文並不...