資料結構,兩顆樹組成的森林轉換成二叉樹,如果兩棵樹本來就是二叉樹,是直接把根節點連起來還是按照書上

2021-05-26 15:56:07 字數 2578 閱讀 9782

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 看起來像是樹,但是實際上還是深度優先遍歷一棵樹,本質上是個棧。所以說這個...