PTA 資料結構與演算法 樹的基本概念

2021-09-22 21:08:33 字數 4370 閱讀 4920

1.存在一棵總共有2016個結點的二叉樹,其中有16個結點只有乙個孩子。 (3分)tf

2.設只包含根結點的二叉樹高度為0,則高度為k的二叉樹最小結點數為k+1。 (2分)tf

3.在含有n個結點的樹中,邊數只能是n-1條。 (1分)tf

4.完全二叉樹中,若乙個結點沒有左孩子,則它必是樹葉。 (1分)tf

5.已知一棵二叉樹的先序遍歷結果是abc, 則cab不可能是中序遍歷結果。 (2分)tf

6.二叉樹是度為 2 的樹。(2分)tf

7.具有10個葉結點的二叉樹中,有9個度為2的結點。 (1分)tf

8.某二叉樹的前序和中序遍歷序列正好一樣,則該二叉樹中的任何結點一定都無左孩子。 (2分)tf

9.若乙個結點是某二叉樹的中序遍歷序列的最後乙個結點,則它必是該樹的前序遍歷序列中的最後乙個結點。 (2分)tf

10.某二叉樹的前序和中序遍歷序列正好一樣,則該二叉樹中的任何結點一定都無右孩子。 (2分)tf

11.若a和b都是一棵二叉樹的葉子結點,則存在這樣的二叉樹,其前序遍歷序列為…a…b…,而中序遍歷序列為…b…a…。 (2分)tf

12.二叉樹的前序遍歷並不能唯一確定這棵樹,但是如果我們還知道該樹的根結點是那乙個,則可以確定這棵二叉樹( )。 (1分)tf

13.將一棵完全二叉樹存於陣列中(根結點的下標為1)。則下標為23和24的兩個結點是兄弟。 (1分)tf

1.樹最適合於用來表示 (1分)選項a

有序資料元素

b無序資料元素

c元素之間無聯絡的資料

d元素之間具有分支層次關係的資料

2.某二叉樹的前序和後序遍歷序列正好相反,則該二叉樹一定是 (2分)選項a

空或只有乙個結點

b高度等於其結點數

c任一結點無左孩子

d任一結點無右孩子

3.設n、m為一棵二叉樹上的兩個結點,在中序遍歷時,n在m前的條件是 (3分)選項a

n在m左方

bn在m右方

cn是m祖先

dn是m子孫

4.二叉樹中第5層(根的層號為1)上的結點個數最多為:(2分)選項a

8b15c

16d325.先序遍歷圖示二叉樹的結果為 (2分)

6.設樹t的度為4,其中度為1、2、3、4的結點個數分別為4、2、1、1。則t中有多少個葉子結點? (3分)選項a

4b6c

8d107.設每個d叉樹的結點有d個指標指向子樹,有n個結點的d叉樹有多少空鏈域? (2分)選項a

ndbn(d−1)

cn(d−1)+1

d以上都不是

8.已知一棵二叉樹的先序遍歷結果是abc,則以下哪個序列是不可能的中序遍歷結果: (2分)選項a

abcb

bacc

cbad

cab9.給定二叉樹如下圖所示。設n代表二叉樹的根,l代表根結點的左子樹,r代表根結點的右子樹。若遍歷後的結點序列為3、1、7、5、6、2、4,則其遍歷方式是: (2分)

rln10.設高為h的二叉樹(規定葉子結點的高度為1)只有度為0和2的結點,則此類二叉樹的最少結點數和最多結點數分別為: (3分)選項a

2h, 2​h−1

b2h−1, 2​h−1

c2h−1, 2h-1−1

d2​h-1+1, 2​h −1

11.在下述結論中,正確的是: (2分)

①只有乙個結點的二叉樹的度為0;

②二叉樹的度為2;

③二叉樹的左右子樹可任意交換;

④深度為k的完全二叉樹的結點個數小於或等於深度相同的滿二叉樹。選項a

①④b②④c

①②③d

②③④12.任何一棵二叉樹的葉結點在先序、中序和後序遍歷序列中的相對次序 (2分)選項a

發生改變

b不發生改變

c不能確定

d以上都不對

13.如果二叉樹的前序遍歷結果是12345,後序遍歷結果是32541,那麼該二叉樹的中序遍歷結果是什麼? (2分)選項a

23145

b23154

c24135

d無法確定

14.要使一棵非空二叉樹的先序序列與中序序列相同,其所有非葉結點須滿足的條件是:(2分)選項a

只有左子樹

b只有右子樹

c結點的度均為1

d結點的度均為2

15.已知一棵二叉樹的樹形如下圖所示,其後序序列為。樹中與結點a同層的結點是:(3分)

fdg16.如果二叉樹的後序遍歷結果是fdebgca,中序遍歷結果是fdbeacg,那麼該二叉樹的前序遍歷結果是什麼? (2分)選項a

abcdefg

babdfegc

cabdfecg

dabdefcg

17.已知二叉樹的後序遍歷是dabec,中序遍歷是debac,則其前序遍歷是()。 (2分)選項a

acbed

bdecab

cdeabc

dcedba

18.某二叉樹的先序序列和後序序列正好相反,則下列說法錯誤的是()。 (2分)選項a

二叉樹不存在

b若二叉樹不為空,則二叉樹的深度等於結點數

c若二叉樹不為空,則任一結點不能同時擁有左孩子和右孩子

d若二叉樹不為空,則任一結點的度均為1

19.對二叉樹的結點從1開始進行編號,要求每個結點的編號大於其左右孩子的編號,同一結點的左右孩子中,其左孩子的編號小於其右孩子的編號,可採用()遍歷實現編號。 (2分)選項a

中序b後序c

層序d先序20.在一非空二叉樹的中序遍歷中,根結點的右邊()。 (2分)選項a

只有右子樹上的所有結點

b只有右子樹上的部分結點

c只有左子樹上的部分結點

d只有左子樹上的全部結點

21.一棵樹可轉換成為與其對應的二叉樹,則下面敘述正確的是()。 (2分)選項a

樹的先根遍歷序列與其對應的二叉樹的先序遍歷相同

b樹的後根遍歷序列與其對應的二叉樹的後序遍歷相同

c樹的先根遍歷序列與其對應的二叉樹的中序遍歷相同

d以上都不對

22.已知一棵二叉樹的先序序列和中序序列分別為gfdbhcea和dfhbgcae,則該二叉樹的後序序列為()。 (2分)選項a

dhbfaecg

bdhbfeacg

cdbhfaecg

ddfaehbcg

23.設x和y是二叉樹中的任意兩個結點,若在先序遍歷中x在y之前,而在後序遍歷中x在y之後,則x和y的關係是()。 (2分)選項a

x是y的左兄弟

bx是y的右兄弟

cx是y的祖先

dx是y的子孫

24.以下演算法的功能是()。 (4分)

int

function

(btreenode* bt, elemtype x)

return n;

}

選項a

求二叉樹結點個數

b求二叉樹中值為x的結點個數

c求二叉樹中值為x結點為根的子樹結點數

d求二叉樹左右子樹結點數

25.以下演算法的功能是()。 (4分)

void

test

(bitree *t)

}

選項a

輸出二叉樹的根結點值

b前序遍歷二叉樹

c中序遍歷二叉樹

d後序遍歷二叉樹

26.一棵有1025個結點的二叉樹的高度為多少? (2分)選項a

10b11c

11~1025之間

d10~1024之間

27.一棵度為4的樹中有20個度為4的結點、10個度為3的結點、1個度為2的結點和10個度為1的結點, 則葉子結點有多少個? (2分)選項a

41b82c

113d

1221.下列**的功能是將二叉樹t中的結點按照層序遍歷的順序輸出。

typedef

struct treenode *tree;

struct treenode

;void level_order ( tree t )

}

PTA 資料結構與演算法 7 3 樹的同構

如有不對 不吝賜教 給定兩棵樹t1和t2。如果t1可以通過若干次左右孩子互換就變成t2,則我們稱兩棵樹是 同構 的。例如圖1給出的兩棵樹就是同構的,因為我們把其中一棵樹的結點a b g的左右孩子互換後,就得到另外一棵樹。而圖2就不是同構的。現給定兩棵樹,請你判斷它們是否是同構的。輸入格式 輸入給出2...

資料結構與演算法練習 樹1 樹的同構(PTA)

題目 給定兩棵樹t1和t2。如果t1可以通過若干次左右孩子互換就變成t2,則我們稱兩棵樹是 同構 的。現給定兩棵樹,請你判斷它們是否是同構的。輸入給出2棵二叉樹樹的資訊。對於每棵樹,首先在一行中給出乙個非負整數n 10 即該樹的結點數 此時假設結點從0到n 1編號 隨後n行,第i行對應編號第i個結點...

PTA 資料結構與演算法 堆疊

1.棧底元素是不能刪除的元素。1分 tf 2.對順序棧進行進棧 出棧操作不涉及元素的前 後移動問題。1分 tf 3.若用data 1 m 表示順序棧的儲存空間,則對棧的進棧 出棧操作最多只能進行m次。1分 tf 4.通過對堆疊s操作 push s,1 push s,2 pop s push s,3 ...