数据结构-树习题复习课程

合集下载

数据结构-习题-第六章-树

数据结构-习题-第六章-树

数据结构-习题-第六章-树和二叉树E F D G A B / + + * - C * 第六章 树和二叉树一、选择题1.已知一算术表达式的中缀形式为 A+B*C-D/E ,后缀形式为ABC*+DE/-,其前缀形式为( )A .-A+B*C/DE B. -A+B*CD/EC .-+*ABC/DE D. -+A*BC/DE【北京航空航天大学 1999 一、3 (2分)】2.算术表达式a+b*(c+d/e )转为后缀表达式后为( )【中山大学 1999 一、5】A .ab+cde/*B .abcde/+*+C .abcde/*++D .abcde*/++ 3. 设有一表示算术表达式的二叉树(见下图), 它所表示的算术表达式是( )【南京理工大学1999 一、20(2分)】A. A*B+C/(D*E)+(F-G)B.(A*B+C)/(D*E)+(F-G)C. (A*B+C)/(D*E+(F-G ))D.A*B+C/D*E+F-G4. 设树T 的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1 则T 中的叶子数为( )A .5B .6C .7D.8【南京理工大学 2000 一、8 (1.5分)】5. 在下述结论中,正确的是()【南京理工大学 1999 一、4 (1分)】①只有一个结点的二叉树的度为0; ②二叉树的度为2;③二叉树的左右子树可任意交换;④深度为K的完全二叉树的结点个数小于或等于深度相同的满二叉树。

A.①②③ B.②③④ C.②④ D.①④6. 设森林F对应的二叉树为B,它有m个结点,B的根为p,p的右子树结点个数为n,森林F中第一棵树的结点个数是()A.m-n B.m-n-1 C.n+1 D.条件不足,无法确定【南京理工大学2000 一、17(1.5分)】7. 树是结点的有限集合,它( (1))根结点,记为T。

其余结点分成为m(m>0)个((2))的集合T1,T2,…,Tm,每个集合又都是树,此时结点T称为Ti的父结点,Ti称为T的子结点(1≤i≤m)。

《数据结构与算法》第六章-树与二叉树习题

《数据结构与算法》第六章-树与二叉树习题

《数据结构与算法》第二部分习题精选一、下面是有关二叉树的叙述,请判断正误()1. 若二叉树用二叉链表作存贮结构,则在n个结点的二叉树链表中只有n—1个非空指针域。

()2.二叉树中每个结点的两棵子树的高度差等于1。

()3.二叉树中每个结点的两棵子树是有序的。

()4.二叉树中每个结点有两棵非空子树或有两棵空子树。

()5.二叉树中每个结点的关键字值大于其左非空子树(若存在的话)所有结点的关键字值,且小于其右非空子树(若存在的话)所有结点的关键字值。

()6.二叉树中所有结点个数是2k-1-1,其中k是树的深度。

()7.二叉树中所有结点,如果不存在非空左子树,则不存在非空右子树。

()8.对于一棵非空二叉树,它的根结点作为第一层,则它的第i层上最多能有2i—1个结点。

()9.用二叉链表法(link-rlink)存储包含n个结点的二叉树,结点的2n个指针区域中有n+1个为空指针。

(√)10. 具有12个结点的完全二叉树有5个度为2的结点。

二、填空1.由3个结点所构成的二叉树有种形态。

2. 一棵深度为6的满二叉树有个分支结点和个叶子。

3.一棵具有257个结点的完全二叉树,它的深度为。

4.设一棵完全二叉树有700个结点,则共有个叶子结点。

5. 设一棵完全二叉树具有1000个结点,则此完全二叉树有个叶子结点,有个度为2的结点,有个结点只有非空左子树,有个结点只有非空右子树。

6.一棵含有n个结点的k叉树,可能达到的最大深度为,最小深度为。

7. 二叉树的基本组成部分是:根(N)、左子树(L)和右子树(R)。

因而二叉树的遍历次序有六种。

最常用的是三种:前序法(即按N L R次序),后序法(即按次序)和中序法(也称对称序法,即按L N R次序)。

这三种方法相互之间有关联。

若已知一棵二叉树的前序序列是BEFCGDH,中序序列是FEBGCHD,则它的后序序列必是。

8.中序遍历的递归算法平均空间复杂度为。

9.用5个权值{3, 2, 4, 5, 1}构造的哈夫曼(Huffman)树的带权路径长度是。

第6章_数据结构习题题目及答案_树和二叉树_参考答案

第6章_数据结构习题题目及答案_树和二叉树_参考答案

一、基础知识题6.1设树T的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1,求树T中的叶子数。

【解答】设度为m的树中度为0,1,2,…,m的结点数分别为n0, n1, n2,…, nm,结点总数为n,分枝数为B,则下面二式成立n= n0+n1+n2+…+nm (1)n=B+1= n1+2n2 +…+mnm+1 (2)由(1)和(2)得叶子结点数n0=1+即: n0=1+(1-1)*4+(2-1)*2+(3-1)*1+(4-1)*1=86.2一棵完全二叉树上有1001个结点,求叶子结点的个数。

【解答】因为在任意二叉树中度为2 的结点数n2和叶子结点数n0有如下关系:n2=n0-1,所以设二叉树的结点数为n, 度为1的结点数为n1,则n= n0+ n1+ n2n=2n0+n1-11002=2n0+n1由于在完全二叉树中,度为1的结点数n1至多为1,叶子数n0是整数。

本题中度为1的结点数n1只能是0,故叶子结点的个数n0为501.注:解本题时要使用以上公式,不要先判断完全二叉树高10,前9层是满二叉树,第10层都是叶子,……。

虽然解法也对,但步骤多且复杂,极易出错。

6.3 一棵124个叶结点的完全二叉树,最多有多少个结点。

【解答】由公式n=2n0+n1-1,当n1为1时,结点数达到最多248个。

6.4.一棵完全二叉树有500个结点,请问该完全二叉树有多少个叶子结点?有多少个度为1的结点?有多少个度为2的结点?如果完全二叉树有501个结点,结果如何?请写出推导过程。

【解答】由公式n=2n0+n1-1,带入具体数得,500=2n0+n1-1,叶子数是整数,度为1的结点数只能为1,故叶子数为250,度为2的结点数是249。

若完全二叉树有501个结点,则叶子数251,度为2的结点数是250,度为1的结点数为0。

6.5 某二叉树有20个叶子结点,有30个结点仅有一个孩子,则该二叉树的总结点数是多少。

数据结构课后习题及解析第六章

数据结构课后习题及解析第六章

第六章习题1.试分别画出具有3个结点的树和3个结点的二叉树的所有不同形态。

2.对题1所得各种形态的二叉树,分别写出前序、中序和后序遍历的序列。

3.已知一棵度为k的树中有n1个度为1的结点,n2个度为2的结点,……,nk个度为k的结点,则该树中有多少个叶子结点并证明之。

4.假设一棵二叉树的先序序列为EBADCFHGIKJ,中序序列为ABCDEFGHIJK,请画出该二叉树。

5.已知二叉树有50个叶子结点,则该二叉树的总结点数至少应有多少个?6.给出满足下列条件的所有二叉树:①前序和后序相同②中序和后序相同③前序和后序相同7. n个结点的K叉树,若用具有k个child域的等长链结点存储树的一个结点,则空的Child 域有多少个?8.画出与下列已知序列对应的树T:树的先根次序访问序列为GFKDAIEBCHJ;树的后根次序访问序列为DIAEKFCJHBG。

9.假设用于通讯的电文仅由8个字母组成,字母在电文中出现的频率分别为:0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10请为这8个字母设计哈夫曼编码。

10.已知二叉树采用二叉链表存放,要求返回二叉树T的后序序列中的第一个结点指针,是否可不用递归且不用栈来完成?请简述原因.11. 画出和下列树对应的二叉树:12.已知二叉树按照二叉链表方式存储,编写算法,计算二叉树中叶子结点的数目。

13.编写递归算法:对于二叉树中每一个元素值为x的结点,删去以它为根的子树,并释放相应的空间。

14.分别写函数完成:在先序线索二叉树T中,查找给定结点*p在先序序列中的后继。

在后序线索二叉树T中,查找给定结点*p在后序序列中的前驱。

15.分别写出算法,实现在中序线索二叉树中查找给定结点*p在中序序列中的前驱与后继。

16.编写算法,对一棵以孩子-兄弟链表表示的树统计其叶子的个数。

17.对以孩子-兄弟链表表示的树编写计算树的深度的算法。

18.已知二叉树按照二叉链表方式存储,利用栈的基本操作写出后序遍历非递归的算法。

计算机存储和组织数据方式之《数据结构》关于“树”的习题(PPT内含答案)

计算机存储和组织数据方式之《数据结构》关于“树”的习题(PPT内含答案)

• 12.已知二叉树的先序遍历和后序遍历不能唯一确定这棵 二叉树,这是因为不知道根结点是哪一个。

(T )
• 7.树结构中的每个结点最多只有一个直接前驱。 (T )
• 8.完全二叉树一定是满二叉树。 (F)
• 9.由树转换成二叉树,其根结点的右子树一定为空。 (T )
• 10.在先序遍历二叉树的序列中,任何结点的子树的所有 结点都是直接跟在该结点之后。( F )
• 11.一棵二叉树中序遍历序列的最后一个结点,发家是该 二叉树先序遍历的最后一个结点。 ( T )
B.CBDGFEA D.CBEGFDA
• 8.某二又树的后序遍历序列为DABEC,中序遍历序列为
DEBAC,则先序遍历序列为( D )。
• A.ACBED C.DEABC
B.DECAB D.CEDBA
• 9.在完全二叉树中,如果一个结点是叶子结点,则它没 有( C )。
• A.左孩子结点
B.右孩子结点
• 5.对于二叉树来说,第i层上最多有___2i-1______个结点。 • 6.由三个结点构成的二叉树,共有____5_____种不同的
结构。
• 7.由一棵二叉树的先序序列和___中序____序列可唯一 确定这棵二叉树。
习题6
• 9.先序序列和中序序列相同的二叉树为单右枝二叉树或 孤立结点。
• 10.设一棵二叉树共有50个叶子结点(终端结点),则有 ______49______度为2的结点。
• A. 5
B. 6
• C. 7
D. 8
• 6.二叉树的先序遍历序列为ABC的不同二叉树有( C ) 种形态。
• A. 3
B. 4
• C. 5
D.6
习题6

数据结构习题及答案与实验指导(树和森林)7

数据结构习题及答案与实验指导(树和森林)7

第7章树和森林树形结构是一类重要的非线性结构。

树形结构的特点是结点之间具有层次关系。

本章介绍树的定义、存储结构、树的遍历方法、树和森林与二叉树之间的转换以及树的应用等内容。

重点提示:●树的存储结构●树的遍历●树和森林与二叉树之间的转换7-1 重点难点指导7-1-1 相关术语1.树的定义:树是n(n>=0)个结点的有限集T,T为空时称为空树,否则它满足如下两个条件:①有且仅有一个特定的称为根的结点;②其余的结点可分为m(m>=0)个互不相交的子集T1,T2,…,T m,其中每个子集本身又是一棵树,并称为根的子树。

要点:树是一种递归的数据结构。

2.结点的度:一个结点拥有的子树数称为该结点的度。

3.树的度:一棵树的度指该树中结点的最大度数。

如图7-1所示的树为3度树。

4.分支结点:度大于0的结点为分支结点或非终端结点。

如结点a、b、c、d。

5.叶子结点:度为0的结点为叶子结点或终端结点。

如e、f、g、h、i。

6.结点的层数:树是一种层次结构,根结点为第一层,根结点的孩子结点为第二层,…依次类推,可得到每一结点的层次。

7.兄弟结点:具有同一父亲的结点为兄弟结点。

如b、c、d;e、f;h、i。

8.树的深度:树中结点的最大层数称为树的深度或高度。

9.有序树:若将树中每个结点的子树看成从左到右有次序的(即不能互换),则称该树为有序树,否则称为无序树。

10.森林:是m棵互不相交的树的集合。

7-1-2 树的存储结构1.双亲链表表示法以图7-1所示的树为例。

(1)存储思想:因为树中每个元素的双亲是惟一的,因此对每个元素,将其值和一个指向双亲的指针parent构成一个元素的结点,再将这些结点存储在向量中。

(2)存储示意图:-1 data:parent:(3)注意: Parrent域存储其双亲结点的存储下标,而不是存放结点值。

下面的存储是不正确的:-1 data:parent:2.孩子链表表示法(1)存储思想:将每个数据元素的孩子拉成一个链表,链表的头指针与该元素的值存储为一个结点,树中各结点顺序存储起来,一般根结点的存储号为0。

数据结构 树 考试习题

数据结构 树 考试习题

第五章树11.不含任何结点的空树( )A)是一棵树 B)是一棵二叉树C)既不是树也不是二叉树 D)是一棵树也是一棵二叉树12.二叉树是非线性数据结构,所以( )A)它不能用顺序存储结构存储; B)它不能用链式存储结构存储;C)顺序存储结构和链式存储结构都能存储; D)顺序存储结构和链式存储结构都不能使用13.把一棵树转换为二叉树后,这棵二叉树的形态是( )A)唯一的 B)有多种C)有多种,但根结点都没有左孩子 D)有多种,但根结点都没有右孩子9. 11 , 8 , 6 , 2 , 5 的叶子结点生成一棵哈夫曼树,它的带权路径长度为()A) 24 B) 72 C) 48 D) 5310.一棵含18个结点的二叉树的高度至少为( )A) 3 B) 4 C) 6 D) 511.下面的二叉树中,( C )不是完全二叉树。

10. 设结点x和结点y是二叉树T中的任意两个结点,若在前序序列中x在y之前,而在中序序列中x在y之后,则x和y的关系是()A)x是y的左兄弟 B)x是y的右兄弟C)y是x的祖先 D)y是x的孩子11.设二叉树根结点的层次为1,所有含有15个结点的二叉树中,最小高度是()A) 6 B) 5 C) 4 D) 37.下列陈述中正确的是()A)二叉树是度为2的有序树B)二叉树中结点只有一个孩子时无左右之分C)二叉树中必有度为2的结点D)二叉树中最多只有两棵子树,并且有左右之分8. 树最适合用来表示()A)有序数据元素 B)无序数据元素C)元素之间具有分支层次关系的数据 D)元素之间无联系的元素9. 3个结点有()不同形态的二叉树A) 2 B) 3 C) 4 D) 56.二叉树是非线性数据结构,( )A)它不能用顺序存储结构存储; B)它不能用链式存储结构存储;C)顺序存储结构和链式存储结构都能存储;D)顺序存储结构和链式存储结构都不能使用7.二叉树上叶结点数等于( )A ) 分支结点数加1B ) 单分支结点数加1C ) 双分支结点数加1D ) 双分支结点数减18.如将一棵有n个结点的完全二叉树按顺序存放方式,存放在下标编号为0, 1,…, n-1的一维数组中,设某结点下标为k(k>0),则其双亲结点的下标是( )A ) (k-1)/2B ) (k+1)/2C ) k/2D ) k-18. 树最适合用来表示()。

《数据结构与算法设计》树-习题

《数据结构与算法设计》树-习题
8
• 已知二叉树 – 先序序列为:ABCDEF – 中序序列为:CBAEDF • 请画出该二叉树。
A
B
C E
D
F
9
A
D
10
• 已知二叉树 – 中序序列为:ABCEFGHD – 后序序列为:ABFHGEDC • 请画出该二叉树。 – 中序:LDR A – 后序:LRD A B C E F G H D A B F H G E D C
swap(b->rchild );
}
交换左右子树
15
• 请指出下列函数的功能
void preserve(BiTNode *b, ElemType a[], int n){
static int i = 0; if(b != NULL) { preserve(b->lChild, a,n); a[i++] = b->data;
preserve(b->rChild, a,n);
} }
得到二叉树b的中序遍历序列,结果放在数组a中
16
2005考研试题
根据______可以唯一地确定一棵二叉树。 A. 先序遍历和后序遍历 B. 先序遍历和层次遍历 C. 中序遍历和层次遍历 D. 中序遍历和后序遍历
D. 中序遍历和后序遍历
所有分支结点的度为2的二叉树称为正则二叉树,试 用二叉链表做存储结构,编写一递归函数int FormalTree(Bitree t),判断二叉树是否为正则二叉树。 int FormalTree(Bitree t) { if (t == NULL) return 1; if ((t->lchild == NULL) && (t->rchild == NULL)) return 1; if ((t->lchild == NULL) || (t->rchild == NULL)) return 0; return (FormalTree(t->lchild)) && (FormalTree(t->rchild)); }

数据结构课后习题(第6章)

数据结构课后习题(第6章)

【课后习题】第6章树和二叉树网络工程2010级()班学号:姓名:一、填空题(每空1分,共16分)1.从逻辑结构看,树是典型的。

2.设一棵完全二叉树具有999个结点,则此完全二叉树有个叶子结点,有个度为2的结点,有个度为1的结点。

3.由n个权值构成的哈夫曼树共有个结点。

4.在线索化二叉树中,T所指结点没有左子树的充要条件是。

5.在非空树上,_____没有直接前趋。

6.深度为k的二叉树最多有结点,最少有个结点。

7.若按层次顺序将一棵有n个结点的完全二叉树的所有结点从1到n编号,那么当i为且小于n时,结点i的右兄弟是结点,否则结点i没有右兄弟。

8.N个结点的二叉树采用二叉链表存放,共有空链域个数为。

9.一棵深度为7的满二叉树有___ ___个非终端结点。

10.将一棵树转换为二叉树表示后,该二叉树的根结点没有。

11.采用二叉树来表示树时,树的先根次序遍历结果与其对应的二叉树的遍历结果是一样的。

12.一棵Huffman树是带权路径长度最短的二叉树,权值的外结点离根较远。

二、判断题(如果正确,在对应位置打“√”,否则打“⨯”。

每题0.5分,共5分)1.对于一棵非空二叉树,它的根结点作为第一层,则它的第i层上最多能有2i-1个结点。

2.二叉树的前序遍历并不能唯一确定这棵树,但是,如果我们还知道该二叉树的根结点是那一个,则可以确定这棵二叉树。

3.一棵树中的叶子结点数一定等于与其对应的二叉树中的叶子结点数。

4.度≤2的树就是二叉树。

5.一棵Huffman树是带权路径长度最短的二叉树,权值较大的外结点离根较远。

6.采用二叉树来表示树时,树的先根次序遍历结果与其对应的二叉树的前序遍历结果是一样的。

7.不存在有偶数个结点的满二叉树。

8.满二叉树一定是完全二叉树,而完全二叉树不一定是满二叉树。

9.已知二叉树的前序遍历顺序和中序遍历顺序,可以惟一确定一棵二叉树;10.已知二叉树的前序遍历顺序和后序遍历顺序,不能惟一确定一棵二叉树;三、单项选择(请将正确答案的代号填写在下表对应题号下面。

数据结构复习与习题解析

数据结构复习与习题解析
❖深度优先搜索
1、访问指定的起始顶点;
2、若当前访问的顶点的邻接顶点有未被访问的,则任选一个访问 之;反之,退回到最近访问过的顶点;直到与起始顶点相通的 全部顶点都访问完毕;
3、若此时图中尚有顶点未被访问,则再选其中一个顶点作为起始 顶点并访问之,转 2; 反之,遍历结束。
4
8/5/2021
例题解析
j va5i
k
v9
v3
v8
(1) 从 ve(1) = 0 开始向前递推
v4 a6=2 v6
ve( j) Max{ve(i) dut( i, j )}, i, j T , 2 j n i
其 中T 是 所 有 以j 为 头 的 弧 的 集 合 。
(2) 从 vl(n) = ve(n) 开始向后递推
8/5/2021
例题解析
❖ 请分别用Prim算法和Kruskal算法构造以下网络的 最小生成树,并求出该树的代价。
9
8/5/2021
ቤተ መጻሕፍቲ ባይዱ
例题解析
【解析】Prim算法的操作步骤:首先从一个只 有一个顶点的集合开始,通过加入与其中顶点 相关联的最小代价的边来扩充顶点集,直到所 有顶点都在一个集合中。
10
22
8/5/2021
例题解析
例:设有一组关键字{32,75,63,48,94,25,36,18,70},采用哈希函数: H(key)=key MOD 11并采用步长为1的线性探测法解决冲突,试在0--10的 散列地址空间中对该关键字序列构造哈希表。
0 1 2 3 4 5 6 7 8 9 10
70
25 48 36 94 18 63 75 32
H(36)=(4+1) MOD 11=5

数据结构(树)习题与答案

数据结构(树)习题与答案

一、单选题1、树最适合用来表示()。

A.元素之间具有分支层次关系的数据B.有序数据元素C.元素之间无联系的数据D.无序数据元素正确答案:A2、在树结构中,若结点A有三个兄弟,且B是A的双亲,则B的度是()。

A.5B.4C.3D.2正确答案:B3、下列陈述中正确的是()。

A.二叉树是度为2的有序树B.二叉树中结点只有一个孩子时无左右之分C.二叉树中每个结点最多只有两棵子树,并且有左右之分D.二叉树中必有度为2的结点正确答案:C4、设深度为h的二叉树中只有度为0和度为2的结点,则此类二叉树中所包含结点数至少为()。

A.2h-1B.2h+1C.h+1D.2h正确答案:A解析: A、除根之外,每层只有两个结点,且互为兄弟。

5、设深度为h的二叉树中只有度为0和度为2的结点,则此类二叉树中所包含结点数至多为()。

A.2h-1B. 2h+1-1C. 2h-1-1D. 2h+1正确答案:A解析: A、构成完全二叉树。

6、具有n(n>0)个结点的完全二叉树的深度为()。

A.⌊ log2(n)⌋ +1B.⌈log2(n)⌉C.⌊ log2(n)⌋D.⌈log2(n)+1⌉正确答案:A7、具有32个结点的完全二叉树有()个叶子结点。

A.16B.14C.15D.17正确答案:A解析: A、对结点按层序编号,32号结点的双亲结点编号为16,则17至32号结点都为叶子,共16个。

8、一棵完全二叉树的第6层上有23个叶子结点,则此二叉树最多有()结点。

A.81B.78C.80D.79正确答案:A解析: A、完全二叉树的叶子结点只能在最下两层,要使结点最多,这棵二叉树深度为7,前6层结点数共为63,第6层有32个结点,其中叶子为23个,非叶子为9个,它们的度都为2,第7层只有18个结点,故整棵二叉树结点数为81.9、具有3个结点的二叉树有()种。

A.6B.3C.5D.4正确答案:C10、若一棵二叉树有9个度为2的结点,5个度为1的结点,则叶子结点的个数为()。

数据结构(c语言版)习题-树

数据结构(c语言版)习题-树

一、选择题1.一算术表达式的中缀形式为 A+B*C-D/E,后缀形式为ABC*+DE/-,其前缀形式为( )A.-A+B*C/DE B. -A+B*CD/E C.-+*ABC/DE D. -+A*BC/DE2.算术表达式a+b*(c+d/e)转为后缀表达式后为()A.ab+cde/* B.abcde/+*+ C.abcde/*++ D.abcde*/++3. 在一颗度为4的树T中,若有20个度为4的结点,10个度为3的结点,1个度为2的结点。

则树T的叶结点个数是( )。

A. 41B. 82C. 113D. 1224. 设树T的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1 则T中的叶子数为()A.5 B.6 C.7 D.85. 在下述结论中,正确的是()①只有一个结点的二叉树的度为0; ②二叉树的度为2;③二叉树的左右子树可任意交换;④深度为K的完全二叉树的结点个数小于或等于深度相同的满二叉树。

A.①②③ B.②③④ C.②④ D.①④6. 设森林F对应的二叉树为B,它有m个结点,B的根为p,p的右子树结点个数为n,森林F中第一棵树的结点个数是()A.m-n B.m-n-1 C.n+1 D.条件不足,无法确定7.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是()A.9 B.11 C.15 D.不确定8.设森林F中有三棵树,第一,第二,第三棵树的结点个数分别为M1,M2和M3。

与森林F对应的二叉树根结点的右子树上的结点个数是()。

A.M1 B.M1+M2 C.M3 D.M2+M39.一棵完全二叉树上有1001个结点,其中叶子结点的个数是()。

A. 250 B. 500 C.254 D.505 E.以上答案都不对10. 设给定权值总数有n 个,其哈夫曼树的结点总数为( )。

A.不确定 B.2n C.2n+1 D.2n-111.若度为m的哈夫曼树中,其叶结点个数为n,则非叶结点的个数为()。

数据结构第四章树和二叉树习题

数据结构第四章树和二叉树习题

数据结构第四章树和二叉树习题04 树和二叉树【单选题】1. 下列选项中不属于树形结构逻辑特征的是(C)。

A、有的结点有多个直接后继 B、有的结点没有直接后继 C、有的结点有多个直接前驱 D、有的结点没有直接前驱2. 下列叙述中错误的是(B)。

A、树的度与该树中结点的度的最大值相等B、二叉树就是度为2的有序树C、有5个叶子结点的二叉树中必有4个度为2的结点D、满二叉树一定是完全二叉树3. 一棵二叉树中第6层上最多有(C)个结点。

A、2 B、31C、32D、644. 一棵高为k的二叉树最少有(B)个结点。

A、k-1 B、kC、k+1D、2k-1E、2k-15. 一棵高为k的二叉树最多有(C)个结点。

A、k+1 B、2k-1 C、2k-1 D、2k E、2k+16. 一棵高为k的完全二叉树最少有(B)个结点。

A、2k-1-1 B、2k-1 C、2k-1 D、2k7. 一棵高为k的完全二叉树最多有(C)个结点。

A、2k-1-1 B、2k-1 C、2k-1 D、2k8. 一棵度为3的树中,度为3的结点有2个,度为2的结点有2个,度为1的结点有2个,则度为0的结点有(D)个。

A、4 B、5 C、6 D、79. 含1000个结点的完全二叉树的高度为(B)。

A、9 B、10 C、11 D、1210. 设完全二叉树T中含有n个结点,对这些结点从0开始按层序进行编号,若编号为i的结点有左孩子,则左孩子的编号为(D)。

A、2(i-1)B、2i-1C、2iD、2i+1E、2(i+1)11. 已知一算术表达式的中缀形式为A+B*C-D/E,后缀形式为ABC*+DE/-,其前缀形式为(D)。

A、-A+B*C/DE B、-A+B*CD/EC、-+*ABC/DED、-+A*BC/DE12. 已知一棵二叉树的先序序列为abdegcfh,中序序列为dbgeachf,则该二叉树的后序序列为(B)。

A、gedhfbca B、dgebhfca C、abcdefgh D、acbfedhg13. 先序遍历与中序遍历所得遍历序列相同的二叉树为(D)。

数据结构第6章树习题

数据结构第6章树习题

第六章树习题1单项选择题1、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则叶子结点个数是(B)。

A、9B、11C、15D、无法确定2、设给定权值总数有n个,其哈夫曼树的结点总数为( D )。

A、不确定B、2nC、2n+1D、2n–13、有关二叉树下列说法正确的是(B)。

A、二叉树的度为2B、一棵二叉树的度可以小于2C、二叉树中至少有一个结点的度为2D、二叉树中任何一个结点的度都为24、一棵二叉树高度为h,所有结点的度或为0,或为2,则这棵二叉树最少有( )结点。

A、2hB、2h-1C、2h+1D、h+15、对于有n个结点的二叉树, 其高度为()。

log D、不确定A、n log2nB、log2nC、⎣⎦n26、利用二叉链表存储树,则根结点的右指针是()。

A、指向最左孩子B、指向最右孩子C、空D、非空7、树的后根遍历序列等同于该树对应的二叉树的( )。

A、先序遍历B、中序遍历C、后序遍历D、层序遍历8、在下列存储形式中,哪一个不是树的存储形式?()A、双亲表示法B、孩子链表表示法C、孩子兄弟表示法D、顺序存储表示法9、已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历的结果为()。

A、CBEFDAB、FEDCBAC、CBEDFAD、不定10、某二叉树的前序序列和后序序列正好相反,则该二叉树一定是()的二叉树。

A、空的或只有一个结点B、任一结点无左子树C、高度等于其结点数D、任一结点无右子树11、一棵左子树为空的二叉树在先序线索化后,其中空的链域的个数是:( )。

A、不确定B、0C、1D、212、若X是二叉中序线索树中一个有左孩子的结点,且X不为根,则x的前驱为( )。

A、X的双亲B、X的右子树中最左的结点C、X的左子树中最右结点D、X的左子树中最右叶结点13、引入二叉线索树的目的是().A、加快查找结点的前驱或后继的速度B、为了能在二叉树中方便的进行插入和删除C、为了能方便的找到双亲D、使二叉树的遍历结果唯一14、下述编码中哪一个不是前缀码()。

数据结构总复习及典型题讲解PPT学习教案

数据结构总复习及典型题讲解PPT学习教案

第10页/共37页
二叉树的先序线索二叉树如下左图所示,后序线索二叉树如下右图所示。
A NIL
B
C
A
B
C
D
E
F
G
D
E
NIL
F
G
H
I
先 序 线 索 二 叉树
H
I
后 序 线 索 二 叉树
第11页/共37页
例题6.7 如果已知森林的前序序列和后序序列分别为ABCDEFIGJH和 BDCAIFJGHE,请画出该森林。
v1
v4
v3
v2
v5
第31页/共37页
解:1)邻接表为:
v1
2
3
4^
1
3
5^
例6.17 森林遍历
A
E
G
B
C D FH I
J
先序遍历结果:A B C D E F G H I J
中序遍历结果:B C D A F E H J I G
第29页/共37页
图结构要点
图结构定义涉及的一系列概念:如连通图, 强连通图,最小生成树等等;
图的存储结构:邻接矩阵,邻接表,十字 链表,邻接多重表。
a
b
c
d
e

gh i
a^
与 树 对 应 的 二叉树 表示其 根结点 无右子 树。
b
^d
c^
e^ ^ f ^
^g
^h ^i^
第17页/共37页
例6.12 森林、树与二叉树转换(以二叉链表为纽带)
(1)树与二叉树转换 树 A
BCE
对应 A^ ^B
二叉树 A
B C
D
C
D

数据结构树练习题

数据结构树练习题

数据结构树练习题
一、树的遍历算法
1、先序遍历:先遍历根结点,然后遍历左子树,最后遍历右子树。

2、中序遍历:先遍历左子树,然后遍历根结点,最后遍历右子树。

3、后序遍历:先遍历左子树,然后遍历右子树,最后遍历根结点。

二、树的搜索算法
1、二叉搜索树:在二叉搜索树中,每个节点都有一个唯一的键值,所有具有相同键值的节点都位于左子树,而所有大于这个键值的节点都位于右子树。

因此,可以利用比较目标键值和根节点键值的大小关系来决定是否去遍历左子树或右子树。

2、平衡树:平衡树是一种特殊的二叉搜索树。

它改变了二叉搜索树的储存方式来极大地提高搜索的效率。

与二叉搜索树不同的是,平衡树保证每个节点的左子树和右子树的高度尽量接近。

依靠这一特性,搜索的效率就可以得到很大地提高。

数据结构第7章树和二叉树习题课PPT课件

数据结构第7章树和二叉树习题课PPT课件

(3)画出二叉树bt的后序线索
a
化树。
b
cd
ef g
hi
j
(3)画出二叉树bt的后序线索 化树。
后序序列
ec hf j i g dba
a
b
cd
ef g
hi
j
(3)画出二叉树bt的后序线索 化树。
0
后序序列 ec hf j i g dba
0a 1

0b 0
root
1
0c1

0 d0
1e1
∧∧
0f1
补1 T={(a,2),(b,3),(c,4),(d,7),(e,9)}为带权字符集, 试构造关于该字符集的一颗哈夫曼树,求其加权路 径长度WPL、T中每个字符的哈曼夫编码和哈夫曼 编码的平均长度。
2 3479
补1 T={(a,2),(b,3),(c,4),(d,7),(e,9)}为带权字符集, 试构造关于该字符集的一颗哈夫曼树,求其加权路 径长度WPL、T中每个字符的哈曼夫编码和哈夫曼 编码的平均长度。
99 45
23
7.3 给定权值集w={2,3,4,7,8,9},试构造关于w 的的一颗哈夫曼树,并求其带权路径长度WPL。
15
78
18 99
45
23
7.3 给定权值集w={2,3,4,7,8,9},试构造关于w 的的一颗哈夫曼树,并求其带权路径长度WPL。
33
15
78
18 99
45
23
WPL=(2+3)×4+4×3+9× 2+(7+8)× 2 =80
(2)写出按先序、中序和后
a
序遍历二叉树bt所得到的结点

广州大学松田学院7数据结构复习题-树-参考答案

广州大学松田学院7数据结构复习题-树-参考答案

7数据结构复习题(二叉树)一.判断题(下列各题,正确的请在前面的括号内打√;错误的打╳)(√)(1)树结构中每个结点最多只有一个直接前驱。

(ㄨ)(2)完全二叉树一定是满二查树。

(ㄨ)(3)在中序线索二叉树中,右线索若不为空,则一定指向其双亲。

(√)(4)一棵二叉树中序遍历序列的最后一个结点,必定是该二叉树前序遍历的最后一个结点。

(√)(5)二叉树的前序遍历中,任意一个结点均处于其子女结点的前面。

(√)(6)由二叉树的前序遍历序列和中序遍历序列,可以推导出后序遍历的序列。

(√)(7)在完全二叉树中,若一个结点没有左孩子,则它必然是叶子结点。

(ㄨ)(8)在哈夫曼编码中,当两个字符出现的频率相同,其编码也相同,对于这种情况应该做特殊处理。

(ㄨ)(9)含多于两棵树的森林转换的二叉树,其根结点一定无右孩子。

(√)(10)具有n个叶子结点的哈夫曼树共有2n-1个结点。

二.填空题(1)在树中,一个结点所拥有的子树数称为该结点的度。

(2)度为零的结点称为叶(或叶子,或终端)结点。

(3)树中结点的最大层次称为树的深度(或高度)。

(4)对于二叉树来说,第i层上至多有2i-1个结点。

(5)深度为h的二叉树至多有2h-1 个结点。

(6)由一棵二叉树的前序序列和中序序列可唯一确定这棵二叉树。

(7)有20个结点的完全二叉树,编号为10的结点的父结点的编号是 5 。

(8)哈夫曼树是带权路径长度最小的二叉树。

(9)由二叉树的后序和中序遍历序列,可以唯一确定一棵二叉树。

(10)某二叉树的中序遍历序列为: DEBAC,后序遍历序列为:EBCAD。

则前序遍历序列为:DABEC 。

(11)设一棵二叉树结点的先序遍历序历为:ABDECFGH,中序遍历序历为:DEBAFCHG,则二叉树中叶结点是:E、F、H 。

(12)已知完全二叉树的第8层有8个结点,则其叶结点数是68 。

(13)由树转换成二叉树时,其根结点无右子树。

(14)采用二叉链表存储的n个结点的二叉树,一共有2n 个指针域。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

具有2000个节点的二叉树,其高度至少 为( )。
A 9 B 10 C 11
D 12
某二叉树的前序序列和后序序列正好相反, 则该二叉树一定是( )二叉树。
A 空或只有一个节点 B 高度等于其节点数 C 任一节点无左孩子 D 任一节点无右孩子
如果节点A有3个兄弟,而且B为A的父节 点,则B的度为( )。
该怎样求?请写出设计思路。假设字符 a,b,c,d,e,f的使用频度分别是0.07, 0.09, 0.16, 0.18, 0.23, 0.27,请画出对应的WPL最大的树 并计算WPL的值。
解: (1)根据给定的n个权值构成n颗二叉树的集合F (2)在F中选取两颗根结点的权值最大的数作为左 右子树构造一棵新的二叉树,且置新的二叉树的根 结点的权值为其左、右子树上根结点的权值较小者 (3)在F中删除这两棵树,同时将新得到的二叉树 加入F中 (4)重复(2)和(3),直到F只含一棵树为止
A. a在b上方 B. a在b下方 C. a在b左方 D. a在b右方
线索二叉树树是一种( ).
a 逻辑结构
b. 线性结构
c. 逻缉和线性结构 d. 物理结构
N个结点的线索二叉树中,线索的数目是 〔 )。
A. N—1 B. N+1 C. 2N D. 2N—1
假设一棵二叉树的按层次遍历序列为 ABCDEFGHIJ, 中序序列为 DBGEHJACIF,请画出该二叉树。
A3 B4 C5 D1
中序遍历一棵二叉排序树所得到的节点访问序 列是节点值的( )序列。
A 递增或递减 B 递减 C 递增 D 无序
在一棵树中,(
A. 分支结点 C. 树根结点
)没有前驱结点。
B. 叶结点 D. 空结点
由权值分别为11,8,6,2,5的叶子 结点生成一棵哈夫曼树,它的带权路
径长度为( )
遍历一棵具有n个结点的二叉树,在
前序序列、中序序列和后序序列中
所有叶子结点的相对次序 ( )
A.都不相同
B.完全相同
C.前序和中序相同 D.中序与后序相同
一棵有124个叶结点的完全二叉树,最多有( ) 个结点。
(A)247 (B)248 (C)249 (D)250 (E)25l
一棵完全二叉树的层次序列为: ABCDEFGHIJKL,请写出后序序列。
A 24 B 71 C 48
D 53
在一棵二叉树的二叉链表中,空指针域数 等于非空指针域数加( )。
A. 2 B. 1
C. 0 D. –1
以二叉链表作为二叉树存储结构,在有N个 节点的二叉链表中,值为非空的链域的个 数为( )。
A N-1
B 2N-1 C N+1 D 2N+1
已知某二叉树是由森林转换过来的,如图所示, 请将这棵二叉树还原成森林,并给出森林的前 根序列和后根序列。
树最适合于用来表示(). a 线性结构的数据 b 顺序结构的数据 c 元素之间无前驱和后继关系的数据 d 元素之间有包含和层次关系的数据
设一棵二叉树度2的结点数是7,度为1的结点 数是6,则叶子结点数是
A. 6 B. 7 C. 8 D. 9
设a、b为一棵二叉树的两个结点,在后序遍 历中,a在b前的条件是
e 50 f 120 g 0
对于一棵满二叉树,m 个叶子结点, n 个结点,深度为h ,则()
a n=h+m b h+m=2n c m=h-1 d n=2h-1
在一棵二叉树上第5层的结点数最多为( ) (假设根结点的层数为 0)
a 8 b 16 c 15 d 32
设T 是哈夫曼树,具有5 个叶子结点, 树T的高度最高可以是()
A 2 b6 c 5 d 8
关于二叉树的下列说法正确的是()。 A.二叉树的度为2 B.二叉树的度可以小于2 C.每一个结点的度都为2 D.至少有一个结点的度为2
具有68个结点的完全二叉树的深度为() A 6 b 7 c 8 68
若一棵完全二又树中某结点无左孩子,则该结 点一定是()。
A.度为1的结点 B.度为2的结点 C.分支结点 D.叶子结点
已知顺序输入一组元素15,35,70, 50,18,20,12,30,80,回答以下问题

①按照二叉排序树的生成原则画出该树。
②画出该二叉排序树的中序线索树。
此课件下载可自行编辑修改,仅供参考! 感谢您的支持,我们努力做得更好!谢谢
有一段正文由字符集 A,D,C,D,E,F中 的字母组成,这6个字母在正文中出现的次数 分别为12,18,26,6.4.34。
(1)为这6个字母设计哈夫曼编码。 (2)设每个字节由8位二进制位组成, 请计算按哈夫曼编码压缩存储这段正 文共需多少个字节?
将一棵树T转换为一棵二叉树T2,则T的后 序遍历是T2的( ). a. 先序 b. 中序 c. 后序 d. 无 法确定
a3 b 4 c5 d6
在树和二叉树的转换中,每棵树都对应一棵二叉树。 下列结论正确的是()
1 树的先序遍历与其对应的二叉树的先序遍历相同 2 树的后序遍历与其对应的二叉树的后序遍历相同 3 树的先序遍历与其对应的二叉树的中序遍历相同 4 以上都不正确
具有3个结点的树和具有3个结点的二叉树 的所有不同形态分别是()
已知一棵二叉树的前序序列和中序序列分 别为: ABDGCEFH和DGBAECHF,则该 二叉树的后序序列是什么?
答:既可先画树而得后序序列,也可 直接推出后序序列,结果为: GDBEHFCA
Байду номын сангаас下列树转为相应的二叉树。
哈夫曼树是带权路径长度之和最小的树,但现
在要求带权路径长度之和最大的树,你认为应
数据结构-树习题
一棵节点数为2000的完整二叉树的叶子数 是( )。
A.999 B.1000 C.1001 D.1002
在有N个叶子节点的霍夫曼树中,其节点总 数为( )。
A 不确定 B 2N C 2N+1 D 2N-1
一棵完全二叉树有200个结点,则度数为1的 结点个数为() ,度数为0的结点个数为() 度数为2的结点个数为() a 100 b 98 c 1 d 99
相关文档
最新文档