資料結構(一) 二叉樹

2021-08-31 09:28:59 字數 1330 閱讀 8116

二叉樹是由n(n>=0)個結點組成的有序集合,集合或者為空,或者是由乙個根節點加上兩棵分別稱為左子樹和右子樹的、互不相交的二叉樹組成。

假設二叉樹節點總數為n,度數為1的節點個數為n1,則n=n0+n1+n2成立,除根節點外,其它節點通過一條樹枝且僅通過一條樹枝與其父節點相連,而二叉樹中樹枝總數為n1+2*n2,加上根節點後可得總結點數為n=n1+2*n2+1,所以n0=n2+1

如果二叉樹中所有分支結點的度數都為2,並且最後一層的葉子節點(葉子節點是指沒有兒子節點)都存在,則二叉樹為滿二叉樹。

如果一棵具有n個結點的高度為k的二叉樹,扣除最後一層後的樹是滿二叉樹且層次最大的那層所有葉子節點均向左靠齊,則二叉樹為完全二叉樹。

完全二叉樹的特性:

a、同樣結點數的二叉樹,完全二叉樹的高度最小

b、完全二叉樹的葉子結點僅出現在最下邊兩層,並且最底層的葉子結點一定出現在左邊,倒數第二層的葉子結點一定出現在右邊。

c、完全二叉樹中度為1的結點只有左孩子。

d。完全二叉樹中節點度數為1的節點數最多為1

題目一:若有一棵完全二叉樹有1000個節點,請問葉子節點數?度數為2的節點數?度數為1節點數?

首先有n=n0+n1+n2,且n0=n2+1;  n=n1+2*n2+1=1000,因為為完全二叉樹,所以可以推出度數為1的節點數最多為1,欽此我們可以推出只有當n1=1,n=n1+2*n2+1=1000才合理,故得n0=500,n2=499,n1=1

題目二:一棵樹,度數為1節點數有4,度數為2節點數有3,度數為3節點數有2,度數為4節點數有1,求葉子節點數

可以根據1*4+2*3+3*2+4*1+1=4+3+2+1+n0->n0=10

a、在二叉樹的第i層上最多有2^(i-1)個結點(i>=1)。

b、高度為k的二叉樹,最多有2^k-1個結點(k>=0)。

c、對任何一棵二叉樹,如果其葉結點有n個,度為2的非葉子結點有m個,則

n = m + 1。

d、具有n個結點的完全二叉樹的高度為logn + 1

e、對於有n個結點的完全二叉樹,按層次對結點進行編號(從上到下,從左到右),對於任意編號為i的結點:

資料結構(一)二叉樹基礎知識總結

一 樹的定義 樹是一種資料結構,它是由n n 1 個有限結點組成乙個具有層次關係的集合。樹具有的特點有 1 每個結點有零個或多個子結點 2 沒有父節點的結點稱為根節點 3 每乙個非根結點有且只有乙個父節點 4 除了根結點外,每個子結點可以分為多個不相交的子樹。樹的基本術語有 若乙個結點有子樹,那麼該...

資料結構 八 二叉樹

二叉樹是每個節點最多有兩個子樹的樹結構。通常子樹被稱作 左子樹 left subtree 和 右子樹 right subtree 二叉樹遍歷,就是按一定的規則和順序走遍二叉樹的所有結點,使每乙個結點都被訪問一次,而且只被訪問一次。設l d r分別表示遍歷左子樹 訪問根結點和遍歷右子樹,則對一棵二叉樹...

資料結構 樹,二叉樹

樹 1 樹是n n 0 個有限個資料的元素集合,形狀像一顆倒過來的樹。2 節點 結點包含資料和指向其它節點的指標。3 根節點 樹第乙個結點稱為根節點。4 結點的度 結點擁有的子節點個數。5 葉節點 沒有子節點的節點 度為0 6 父子節點 乙個節點father指向另乙個節點child,則child為孩...