山东2011专升本计算机专业数据结构练习题 - 图文 联系客服

发布时间 : 星期六 文章山东2011专升本计算机专业数据结构练习题 - 图文更新完毕开始阅读ed3088dc5022aaea998f0f85

济南铁道职业技术学院 专升本辅导教材 数据结构

5.20 已知两棵二叉树都采用二叉链表存储结构,根结点的地址分别为T1和T2。请写一算法,判断两棵二叉树是否相似(即具有相同的形态),并给出相应信息。

5.21 已知两棵二叉树都采用二叉链表存储结构,根结点的地址分别为T1和T2。请写一算法,判断两棵二叉树是否是相同的二叉树,并给出相应信息。

5.22 已知二叉树采用二叉链表存储结构,根结点的地址为T。请写一算法,释放该二叉树中所有结点占用的空间。

5.23 已知二叉树采用二叉链表存储结构,根结点的地址为T。请写一非递归算法统计出该二叉树共有多少个度为1的结点?要求:算法中用到的堆栈采用链式存储结构。

5.24 已知非空二叉树采用二叉链表存储结构,根结点地址为T。请写出非递归算法,该算法打印数据信息为item的结点的所有祖先结点。假设数据信息为item的结点不多于一个。

5.25 已知二叉树采用二叉链表存储结构,根结点的地址为T。请写一算法,将该二叉链表结构转换为顺序存储结构。

5.26 已知某具有n个结点的二叉树的前序序列与中序序列分别存放于数组PREOD[n)与INOD [n]中,并且各结点的数据值均不相同。试写一非递归算法生成该二叉树的二叉链表结构。

5.27 已知二叉树采用二叉链表存储结构,根结点地址为了。试写一算法,判断该二叉树是否为完全二叉树,并给出相应信息。

5.28 已知二叉树采用二叉链表存储结构,根结点地址为丁。试写一算法,删去并释放数据值为key的叶结点。

5.29 已知二叉排序树采用二叉链表存储结构,根结点的地址为T。试写一算法,删去数据值小于或等于key的结点。

5.30 已知二叉树采用二叉链表存储结构,根结点的地址为T。试写一算法,算法功能是按层次从上到下,每层从右到左的顺序依次列出二叉树所有结点的数据信息。

5.31 已知二叉树采用二叉链表存储结构,根结点的地址为T。试写一算法,打印该二叉树所有左子树的根结点的数据信息。

5.32 已知二叉树采用二叉链表存储结构,根结点的地址为T。试写一算法,交换二叉树所有左、右子树的位置,即将结点的左子树变成结点的右子树,右子树变成左子树。

5.33 已知二叉树采用二叉链表存储结构,根结点的地址为丁。请写一算法,输出从根结点到某个指定结点的路径上各结点的值。

5.34 已知二叉树采用二叉链表存储结构,根结点的地址为T,请写一算法,判断该二叉树是否是二叉排序树。

5.35 将图7.43所示的树林转换为一棵二叉树。

5.36 分别写出如图7.44所示的树的前序遍历序列与后序遍历序列。

5.37 已知某树林转化为二叉树后所对应的顺序存储结构为请画出该树林。

第 37 页 共 63 页

济南铁道职业技术学院 专升本辅导教材 数据结构

历年考题

1.在具有n个叶子结点的严格二叉树中,结点总数为( )

A.2n+1 B.2n C.2n-1

D.2n-2

2.除根结点外,树上每个结点( )

A.可有任意多个孩子、任意多个双亲 B.可有任意多个孩子、一个双亲 C.可有一个孩子、任意多个双亲 D.只有一个孩子、一个双亲

3.具有100个结点的二叉树中,若用二叉链表存储,其指针域部分用来指向结点的左、右孩子,其余( )个指针域为空。 A.50

B.99 C.100

D.101

4.若构造一棵具有n个结点的二叉排序树,最坏的情况下其深度不会超过( )

A.n/2 B.n C.(n+1)/2 D.n+1

6.一棵有16结点的完全二叉树,对它按层编号,则对编号为7的结点X,它的双亲结点及右孩子结点的编号分别为( )

A.2,14 B.2,15 C.3,14 D.3,15 7.下列陈述中正确的是( )

A.二叉树是度为2的有序树

B.二叉树中结点只有一个孩子时无左右之分 C.二叉树中必有度为2的结点

D.二叉树中最多只有两棵子树,并且有左右之分

9、前序遍历序列与中序遍历序列相同的二叉树为 (1) ,前序遍历序列与后序遍历序列相同的二叉树为 (2) 。

(1) A、根结点无左子树的二叉树

B、根结点无右子树的二叉树

C、只有根结点的二叉树或非叶子结点只有左子树的二叉树 D、只有根结点的二叉树或非叶子结点只有右子树的二叉树 (2) A、非叶子结点只有左子树的二叉树

B、只有根结点的二叉树

C、根结点无右子树的二叉树

D、非叶子结点只有右子树的二叉树

10、 假设一棵二叉树的后序遍历序列为DGJHEBIFCA,中序遍历序列为DBGEHJACIF,则其前序遍历序列为 (10) 。

(10) A、ABCDEFGHIJ B、ABDEGHJCFI C、ABDEGHJFIC D、ABDEGJHCFI

11、 设某种二叉树有如下特点;结点的子树数目不是2个,则是0个。这样的一棵二叉树中有m(m>O)个子树为0的结点时,该二叉树上的结点总数为 (34) 。

(34) A.2m+l B.2m-1 C.2(m—1) D.2(m+1)

14、二叉树_A_。在完全的二叉树中,若一个结点没有_B_,则它必定是叶结点。每棵树都能唯一地转换成与它对应的二叉树。由树转换成的二叉树里,一个结点N的左子女是N在原树里对应结点的_C_,而N的右子女是它在原树里对应结点的_D_。二叉排序树的平均检索长度为_E_。

供选择的答案:

A:①是特殊的树 ②不是树的特殊形式

第 38 页 共 63 页

济南铁道职业技术学院 专升本辅导教材 数据结构

③是两棵树的总称 ④是只有二个根结点的树形结构

B:①左子结点 ②右子结点

③左子结点或者没有右子结点 ④兄弟

C~D: ①最左子结点 ②最右子结点 ③最邻近的右兄弟 ④最邻近的左兄弟 ⑤最左的兄弟 ⑥最右的兄弟

E:①O(n) ②o(n) ③O(log2n) ④o(log2n)

15、每一棵树都能唯一地转换为它所对应的二叉树,树的这种二叉树表示对树的运算带来很大的好处。遍历(周游)是树形结构的一种重要运算,二叉树的基本组成部分是:根(N)、左子树(L)和右子树(R)。因而二叉树的遍历次序有六种。最常用的是三种:前序法(即按___A___次序),后序法(即按___B___次序)和中序法(也称对称序法,即按___C___次序)。这三种方法相互这间有关联。若已知一棵二叉树的前序序列是BEFCGDH,中序序列是FEBGCHD,则它的后序序列必是___D___,而且可得该二叉树所表示的树的先根次序序列是___B___。

供选择的答案

A~C:① R L N ② R N L ③ L R N

④ L N R ⑤ N L R ⑥ N R L

D、E:① E F G H B C D ② F E G H D C B

③ B C D E F G H ④ E F B G C H D ⑤ B E F C G D H ⑥ F E G B H D C 17.若一棵满三叉树中含有121个结点,则该树的深度为________________。

18.设有k个结点,在用哈夫曼算法构造哈夫曼树的过程中,若第i次合并时已找到权最小的结点x和权次小的结点y,用T[x].wt表示结点x的权值,已知T[x].wt=m, T[y].wt=n,则合并成新的二叉树后给新根结点的权值赋值的语句为_____________。 19.在下列树中,结点H的祖先为_____________。

20.设一棵二叉树中度为2的结点数为10,则该树的叶子数为________________。 21.如图所示的二叉树,若按后根遍历,则其输出序列为________________。

22.在n个结点的线索二叉链表中,有________个线索指针。

23、一棵具有n个结点的理想平衡二叉树(即除离根最远的最底层外其他各层都是满的,最底层有若干结点)有多少层?若设根结点在第0层,则树的高度h如何用n来表示(注意n可能为0)? 24.画出下列二叉树的二叉链表表示图。(6分)

第 39 页 共 63 页

济南铁道职业技术学院 专升本辅导教材 数据结构

25.已知树T的先序遍历序列为ABCDEFGHJKL,后序遍历序列为CBEFDJIKLHGA。请画出树T。

27.已知树如右图所示, (1)写出该树的后序序列; (2)画出由该树转换得到的二叉树。

28.分别写出下列二叉树的先根、中根、后根遍历序列。(6分)

第六章 图

迪杰斯特拉算法如下:

SHORTEST—PATH(intcost[][n],intv,intn,intdist[],intpath[)) {

ihti,N,u,count,pos[n]; for(i=0;i

s[i]=0; /x标记数组置0 x/

dist[i]=cost[V][i]; /。将邻接矩阵第v行元素依次送dist数组x path[i][0]=v; /x源点v到各顶点的路径置初值。/ pos[i]=0; /。第i条路径的位置计数器置初值x/ } /x对辅助数组进行初始化。/ s[v]=l;

count=1; /x计数器赋初值1 x/

while(count

第 40 页 共 63 页