1樓:烏石
資料結構,兩顆樹組成的森林轉換成二叉樹,如果兩棵樹本來就是二叉樹,是直接把根節點連起來還是按照書上的方法,把每個樹轉換成二叉樹,在把第一個樹的根節點的右指標指向第二個樹的右指標?
【回答】:應先把每個樹轉換成二叉樹,在把第一個樹的根節點的右指標指向第二個樹的根。你這個圖中畫的都不對正確的應是:
..... a
/ ...... \
b........ d
.\........ /
....c.... e
............. \
..................f
(點請無視之,不知道,最近空格不知為何不起作用了)
從概念上講,樹,森林和二叉樹是三種不同的資料結構,將樹,森林轉化為二叉樹的基本目的是什麼, 50
2樓:匿名使用者
這三種結構的特點用一句話概括的話就是:
樹,只有1個根節點
森林,有》=2個根節點,可以理解為由多棵樹組成
二叉樹,作為一種特殊的樹,在滿足只有1個根節點的同時,任意節點的兒子數=<2
樹和森林的結構與二叉樹相比,要求更少,也可以說是更抽象,因此適用於更多的場合。
二叉樹則是根據目前計算機所採用的二進位制儲存機制所設計的,現在的計算機基本都已經整合了各種數制的表示,加上圖形ui,使得很多人已經對二進位制串及其特點不敏感了,但是最底層的處理機制依然與早期的計算機相似,基本全是對0、1串做處理,邏輯判斷也就是true或false,具體表現還是0、1,這種情況下二叉樹就是最簡易、最直觀的。
大多數使用二叉樹的地方也可以使用三叉或四叉之類的結構來替換,但是在具體實現上,由於機器處理能力的特性,還是要轉換為二叉結構,例如針對三叉的判斷,a、b、c三種子情況,計算機還是要按照判斷a與非a、再判斷b與非b這種二叉邏輯來處理。
所謂資料結構只是一種儲存、組織資料的一種方式,無論哪種資料結構都是以這為出發點設計的,最簡單高效、容易理解的資料結構就是最好的。
3樓:匿名使用者
二叉樹只能有兩個子樹,樹就不一定
由m棵結點數為n的樹組成的森林,將其轉化為一棵二叉樹,則該二叉樹中根結點的右子樹
4樓:匿名使用者
答案是c
因為第一棵樹構成最終二叉樹的根和左子樹,其餘m-1棵樹構成右子樹
從概念上講,樹、森林和二叉樹是三種不同的資料結構,將樹、森林轉化為二叉樹的基本目的是什麼
5樓:
1、方便程式設計中的呼叫
2、二叉樹中每個結點最多有兩個子樹,普通的樹沒有限制
1、從概念上講,樹、森林和二叉樹是三種不同的資料結構,將樹、森林轉化為二叉樹的基本目的是什麼?
6樓:
1、方便程式設計中的呼叫
2、二叉樹中每個結點最多有兩個子樹,普通的樹沒有限制
資料結構:設f是一個森林,b是由f變換得到的二叉樹。f中有n個非終端結點,則b中右指標域為空的結點為( )
7樓:水瓶一頭老母豬
選c,n+2。
解題思路:
設終端結點數為f,總結點數 f + n。每個結點有兩個指標,總指標數 2(f + n)。
二叉樹b除去根結點,都是某個結點的孩子, 也就是其餘每個結點都有指標指向, 佔用指標數為 f + n - 1。
剩餘空指標數為 2(f + n)- (f + n - 1)= f + n + 1 個,f 個終端結點沒有孩子, 所以空的左指標域數為f 個;二叉樹b 中右指標域為空的結點有 ( f + n + 1 ) - f = n + 1。
8樓:匿名使用者
c.n+1
森林轉換為二叉樹,遵循"左兒子右兄弟"的說法.
舉個例子.樹:根節點有三個兒子a,b,c.
那麼轉換為二叉樹後,根節點只有一個兒子a,然後a的兄弟b成為a的"兒子"(或者可以說是右指標域),c成為b的右指標域,此時c已經沒有兄弟了,所以到此的一個右指標域為空.(你可以畫圖體會一下.)
題目中說f有n個非終端節點,所以轉換為二叉樹後所有的空的右指標域(right)就是n個.
根節點沒有兄弟,所以該右指標域也為空.(注:這裡根節點也是一個有指標域.上文中根節點屬於非終端節點,那裡它所指向的右指標域不是它本身而是它的最右邊的兒子.)
所以綜上,二叉樹中右指標域為空的節點有(n+1)個.
樓主,這個我也是初學,有些語言不標準之處見諒.
資料結構中,森林轉換為二叉樹的結果是否唯一?
9樓:魚厭河
我覺得由於森林無法確定誰是第一顆樹,所以不唯一
資料結構中,怎麼樣把森林轉化成二叉樹
10樓:葉子離去是紀念
步驟1:先將各樹按照左孩子右兄弟的原則轉化成二叉樹
步驟2:然後將各二叉樹通過根的右指標相連(即:按森林圖形中樹的先後次序,依次將後邊一棵二叉樹的根作為前邊一棵二叉樹根結點的右子樹)
下面給你舉個例子:
資料結構中哈夫曼樹T具有葉子結點,樹T的最高高度是多少
畫出一個二叉樹,可如下 o o o o o o o o o 這不是很明顯的事嗎?如果根的高度從內0開始計,則該樹樹高為容4,如果根的高度從1開始計,則該樹高度為5。再怎麼也不會是3啊。什麼是哈夫曼樹 給定n個權值作為n個葉子結點,構造一棵二叉樹,帶權路徑長度達到最小。帶權路徑長度最短的樹,權值較大的...
結構樹林與二元樹的問題,資料結構樹林與二元樹的問題
首先你應明確,一個樹林可以唯一的轉換為一個二元樹 樹林中各個樹的根相對有序 而在實際應用中,許多情況需用到 非二元 樹。但不管是儲存 遍歷 追蹤 等對樹的操作,二元樹都較樹更高效 便捷。所以,邏輯上的樹被實現為與其等價的二元樹結構儲存在記憶體中。所以,在設計演算法邏輯時,我們在畢要的時候使用樹或森林...
支援子程式呼叫的資料結構是什麼棧?樹?佇列?二叉樹
額 理論上來說所有資料結構都支援子程式的呼叫。這個題的意思應該是子程式呼叫的時候能看成什麼樣的資料結構。嚴格來說是棧 因為遞迴呼叫子程式的時候就是先入後出的而且是線性的。雖然子程式也可以這樣呼叫 f i f i 1 f i 1 看起來像是樹,但是實際上還是深度優先遍歷一棵樹,本質上是個棧。所以說這個...