二叉樹與數有什麼區別二叉樹和樹的區別到底是什麼,例如用三個結點畫出二叉樹和樹的不同結構圖,謝謝!!!

2021-03-05 09:20:25 字數 2656 閱讀 2141

1樓:匿名使用者

1.二叉樹的基本形態:

二叉樹也是遞迴定義的,其結點有左右子樹之分,邏輯上二叉樹有五種基本形態:

(1)空二叉樹——(a);

(2)只有乙個根結點的二叉樹——(b);

(3)右子樹為空的二叉樹——(c);

(4)左子樹為空的二叉樹——(d);

(5)完全二叉樹——(e)

注意:儘管二叉樹與樹有許多相似之處,但二叉樹不是樹的特殊情形。

2.兩個重要的概念:

(1)完全二叉樹——只有最下面的兩層結點度小於2,並且最下面一層的結點都集中在該層最左邊的若干位置的二叉樹;

(2)滿二叉樹——除了葉結點外每乙個結點都有左右子女且葉結點都處在最底層的二叉樹,。

3.二叉樹的性質

(1) 在二叉樹中,第i層的結點總數不超過2^(i-1);

(2) 深度為h的二叉樹最多有2h-1個結點(h>=1),最少有h個結點;

(3) 對於任意一棵二叉樹,如果其葉結點數為n0,而度數為2的結點總數為n2,

則n0=n2+1;

(4) 具有n個結點的完全二叉樹的深度為int(log2n)+1

(5)有n個結點的完全二叉樹各結點如果用順序方式儲存,則結點之間有如下關係:

若i為結點編號則 如果i<>1,則其父結點的編號為i/2;

如果2*i<=n,則其左兒子(即左子樹的根結點)的編號為2*i;若2*i>n,則無左兒子;

如果2*i+1<=n,則其右兒子的結點編號為2*i+1;若2*i+1>n,則無右兒子。

4.二叉樹的儲存結構:

(1)順序儲存方式

type node=record

data:datatype

l,r:integer;

end;

var tr:array[1..n] of node;

(2)鍊錶儲存方式,如:

type btree=^node;

node=record

data:datatye;

lchild,rchild:btree;

end;

5.普通樹轉換成二叉樹:凡是兄弟就用線連起來,然後去掉父親到兒子的連線,只留下父母到其第乙個子女的連線。

二叉樹很象一株倒懸著的樹,從樹根到大分枝、小分枝、直到葉子把資料聯絡起來,這種資料結構就叫做樹結構,簡稱樹。樹中每個分叉點稱為結點,起始結點稱為樹根,任意兩個結點間的連線關係稱為樹枝,結點下面不再有分枝稱為樹葉。結點的前趨結點稱為該結點的"雙親",結點的後趨結點稱為該結點的"子女"或"孩子",同一結點的"子女"之間互稱"兄弟"。

2樓:匿名使用者

樹的子節點沒有順序之分,而二叉樹的子節點確分左子樹與右子樹!(區別於類似二叉樹的樹)

二叉樹和樹的區別到底是什麼,例如用三個結點畫出二叉樹和樹的不同結構圖,謝謝!!!

3樓:匿名使用者

二叉樹是指乙個樹的父節點最多只有兩個子節點構成的樹,樹是不限制子節點的個數的。

二叉樹是樹的一種特例,是樹的子集。

三個節點是無法表示出二叉樹和樹的區別的,需要三個以上的節點。

二叉樹的表示如下圖。

樹的表示如下圖。

樹狀圖是一種資料結構,它是由n(n>=1)個有限結點組成乙個具有層次關係的集合。把它叫做「樹」是因為它看起來像一棵倒掛的樹,也就是說它是根朝上,而葉朝下的。它具有以下的特點:

每個結點有零個或多個子結點;沒有父結點的結點稱為根結點;每乙個非根結點有且只有乙個父結點;除了根結點外,每個子結點可以分為多個不相交的子樹。

相關術語

節點的度:乙個節點含有的子樹的個數稱為該節點的度;

葉節點或終端節點:度為0的節點稱為葉節點;

非終端節點或分支節點:度不為0的節點;

雙親節點或父節點:若乙個節點含有子節點,則這個節點稱為其子節點的父節點;

孩子節點或子節點:乙個節點含有的子樹的根節點稱為該節點的子節點;

兄弟節點:具有相同父節點的節點互稱為兄弟節點;

樹的度:一棵樹中,最大的節點的度稱為樹的度;

節點的層次:從根開始定義起,根為第1層,根的子節點為第2層,以此類推;

樹的高度或深度:樹中節點的最大層次;

堂兄弟節點:雙親在同一層的節點互為堂兄弟;

節點的祖先:從根到該節點所經分支上的所有節點;

子孫:以某節點為根的子樹中任一節點都稱為該節點的子孫。

森林:由m(m>=0)棵互不相交的樹的集合稱為森林;

4樓:匿名使用者

1、樹是一種分值結構的總稱。看看我們生活中 有的樹分值很多 如榕樹,梧桐樹。很奇怪的是這些樹的乙個分支還是一棵樹。

而有的數分支很少 如水杉,白楊。 但是樹有共同的特點【分支及層次關係】

2、二叉樹是一種特殊的樹形結構,每個節點之多又2個分支。既然二叉,所以有左右子樹的區別。

3、二叉樹的結構3個節點:

a/ \

b ca/

b/ca

\b\c

a/b\

ca\b

/c而數沒有左右之分。所以只有2中形態

a/ \

b ca|

b|c注意這裡是求樹的形狀(形態,而不是樹中節點的排列組合)嚴蔚敏:資料結構那本書一定要吃透,個人建議看5遍以上。基本演算法都要用c實現一遍。

樓主好運!

二叉樹是樹的特例嗎,二叉樹是樹的特例嗎

什麼叫二叉樹的度?帶你了解它的特點 不是。儘管樹和二叉樹的概念之間有許多的類似,但它們是兩個不同的資料結構。因為從定義來看 二叉樹既不是只有兩個子樹的樹,也不是最多只有兩個子樹的樹。樹和二叉樹最主要的區別是 二叉樹中結點的子樹要區分左子樹和右字樹,即使在結點只有一棵子樹的情況下也要明確指出該子樹是左...

如何判斷二叉樹是滿二叉樹怎麼判斷一棵二叉樹是否是完全二叉樹呢?

完全二叉樹的定義 深度為k,有n個結點的二叉樹當且僅當其每乙個結點都與深度為k的滿二叉樹中編號從1至n的結點一一對應時,稱為完全二叉樹。特點 葉子結點只可能在層次最大的兩層上出現 對任一結點,若其右分支下子孫的最大層次為l,則其左分支下子孫的最大層次必為l 或l 1 滿二叉樹 一棵深度為k,且有2的...

二叉樹結點計算,二叉樹的葉子節點數如何計算?

1.深度為m的滿二叉樹有2 m 1個結點.因為滿二叉樹的定義為 一顆深度為k且有2 k 1個結點的二叉樹稱為滿二叉樹.2.若要樹深為最小,顯然要使除最後一層外的每一層都有盡可能多的結點,即要二叉樹為完全二叉樹.由二叉樹的乙個重要性質 具有n個結點的完全二叉樹的深度為 log2n 1.這是在根節點層次...