1.樹最適合用來表示( a)。
a.元素之間具有層次關係的資料
b.元素之間無聯絡的資料
c.有序資料元素
d.無序資料元素
2.現有一「遺傳」關係,設x是y的父親,則x可以把他的屬性遺傳給y。表示該遺傳關係最適合的資料結構為( b)。
a.圖b.樹
c.線性表
d.陣列
3.一棵節點個數為n、高度為h的m(m≥3)次樹中,其分支數是(b )。
a.n+h
b.n-1
c.h-1
d.nh
4.若一棵3次樹中有2個度為3的節點,1個度為2的節點,2個度為1的節點,該樹一共有( c)個節點。
a.5b.10
c.11
d.85.設樹t的度為4,其中度為1、2、3、4的節點個數分別為4、2、1、1,則t中的葉子節點個數是( b)。
a.5b.8
c.7d.6
6.有一棵三次樹,其中n3=2,n2=1,n0=6,則該樹的節點個數為(b )。
a.12
b.大於等於9的任意整數
c.9d.10
7.假設每個節點值為單個字元,而一棵樹的後根遍歷序列為abcdefghij,則其根節點值是( b)。
a.ab.j
c.以上都不對
d.b8.一棵度為5、節點個數為n的樹採用孩子鏈儲存結構時,其中空指標域的個數是(b )。
a.5n
b.4n+1
c.4n-1
d.4n
9.有一棵三次樹,其中n3=2,n2=2,n1=1,該樹採用孩子兄弟鏈儲存結構時,則總的指標域數為( b)。
a.36
b.24
c.16
d.10
10.以下關於二叉樹的說法中正確的是(a )
a.二叉樹中不存在度大於2的節點
b.二叉樹就是度為2的樹
c.二叉樹中每個節點的度都為2
d.二叉樹就是度為2有序樹
11.按照二叉樹的定義,具有3個節點的二叉樹有( d)種。
a.3b.4
c.6d.5
12.一棵完全二叉樹中有1000個節點,其中度為1的節點個數是( d)。
a.2b.不確定
c.0d.1
13.一棵滿二叉樹有m個葉子節點和n個節點,其高度為h,則有( c)。
a.h+m=2n
b.n=h+m
c.d.m=h-1
14.設森林f中有4棵樹,第1、2、3、4棵樹的節點個數分別為a、b、c、d,將森林f轉換為二叉樹b,則b中根節點的左子樹上的節點個數是(c )。
a.ab.a+b+c
c.a-1
d.b+c+d //右子樹
15.一棵完全二叉樹中有501個葉子節點,則至少有( c)個節點。
a.1002
b.502
c.1001
d.501
1 .若一棵度為4的樹中度為1、2、3、4的節點個數分別為4、3、2、2,則該樹的總節點個數是多少?
答:n=25。
2 .對於度為m的樹t,其高度為h,則最少的節點個數和最多的節點個數分別是多少?
答:最少的節點個數:h+m-1個。
最多的節點個數:(m^h-1)/(m-1)個。
3 .對於含有n個節點的m次樹,採用孩子鏈儲存結構時,其中空指標域的個數有多少?
答:(m-1)n+1。
4 .任意乙個有n個節點的二叉樹,已知它有m個葉子節點,試證明有(n-2m+1)個度數為1的節點。
答:n0=n2+1;
度之和=分支數;
度之和=n1+2n2;
分支數=n-1;
n=n0+n1+n2;
所以n0=m=n2+1;
n1=n-m-n2=n-m-m+1=(n-2m+1);
5 .為什麼說一棵非空完全二叉樹,一旦節點個數n確定了,其樹形也就確定了。
答:可以計算出高度h以及n0、n1和n2
6 .已知一棵完全二叉樹的第6層(設根為第1層)有8個葉子節點,則該完全二叉樹的節點個數最多是多少?
答:2^6-1個。
7 .假設非空二叉樹採用順序儲存結構,每個節點值為單個字元。設計乙個演算法求編號為i的節點的層次。
答://使用二叉鏈儲存。
#include
#include
using
namespace std;
const
int maxsize=
100;
typedef
struct node
btnode;
void
creatbtnode
(btnode *
&b,char
*str)}}
j++; ch=str[j];}
}int
level
(btnode *b,
char x,
int h)
}int
main()
8 .假設非空二叉樹採用順序儲存結構,每個節點值為單個字元。設計乙個演算法輸出編號為i的節點的所有祖先節點值。
答:
#include
#include
using
namespace std;
const
int maxsize=
100;
typedef
struct node
btnode;
void
creatbtnode
(btnode *
&b,char
*str)}}
j++; ch=str[j];}
}bool
printancestors
(btnode* _root,
char target)
return
false;}
intmain()
//演算法借鑑 武漢大學資料結構MOOC第2周測驗
1單選 2分 線性表是 a.乙個有限序列,可以為空 b.乙個有限序列,不可以為空 c.乙個無限序列,可以為空 d.乙個無限序列,不可以為空 正確答案 a 解析 a 線性表是具有n n 0 個資料元素的有限序列。課本考據 線性表是具有相同特徵的資料元素的乙個有限序列。當 n 0時,表示線性表是乙個空表...
武漢大學資料結構MOOC第5周測驗
1單選 2分 下面關於串的敘述中,正確的是 a.串是一種特殊的線性表 b.串中元素只能是字母 c.空串就是空白串 d.串的長度必須大於零 正確答案 a 解析 a 串是一種特殊的線性表,其元素為單個字元,長度可以為0。課本考據 1 字串簡稱為串,串是由字元元素構成的,其中元素的邏輯關係也是一種線性關係...
測驗8 程式設計方法學 第8周
a 計算思維是邏輯思維的演進 b 計算思維關於設計和構造,可以脫離計算機而存在 c 計算思維是基於計算機的思維模式 d 計算思維從古至今一直存在 正確答案 c 計算思維是基於計算機的思維模式,計算機出現之前,由於沒有快速計算裝置,計算所反映的思維模式主要是數學思維,即通過公式來求解問題。當快速計算裝...