数据结构试题及答案

 (1)、试题

一 、判断(每小题1分,共10分) 

1.在有n个叶子结点的哈夫曼树中,其结点总数2n+1。

2.从循环单链表的任一结点出发,可以找到表中所有结点。

3.完全二叉树的叶子结点只能出现在最后一层上。

4.一个广义表的表尾总是一个广义表。

5.散列法是一种对关键字进行运算的查找方法。

6.有回路的图不能进行拓朴排序。

7.在顺序存储的线性表中,逻辑上相邻的两个数据元素在物理位置上并不一定紧邻。

8.单链表设置头结点的目的是为了简化运算。

9.快速排序在任何情况下,都是速度最快的一种排序方法。

10.对于同一组记录,生成的二叉排序树的形态与记录的输入次序无关。

二、选择(每题1分,共15分)

1.为解决计算机与打印机之间速度不匹配的问题,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则依次从该缓冲区中取出数据。该缓冲区的逻辑结构应该是( )。 

A)栈          B)队列         C)树         D)图

2.若线性表最常用的操作是存取第i个元素及其前趋的值,那么最节省操作时间的存储方式是( )。

A)单链表 B)双链表 C)单循环链表     D)顺序表

3.下面程序段的时间复杂度是()。

for (i=0;i<n;i++)

  for(j=0;j<n;j++)

                A[i][j]=1;

A)O(n)       B)O(n+n+1)          C)O(n+n)        D)O(n*n)

4.设串s1="ABCDEFG",s2="PQRST",函数con(x,y)返回x和y串的连接串,subs(s,i,j)返回串s的从序号i的字符起开始的j个字符的子串,len(s)返回串s的长度,则con( subs(s1,2,len(s2)),subs(s1,len(s2),2))的结果串是()。

  A)BCDEF       B)BCDEFG     C)BCPQRST        D)BCDEFEF

5.下列二叉排序树中,满足平衡二叉树定义的是 

6.设一个栈的输入序列为12345,则借助一个栈所得到的输出序列不可能是()。

A)54321      B)45321    C)43512          D)12345

7.采用递归方式对顺序表进行快速排序,下列关于递归次数的叙述中,正确的是( )

A)递归次数与初始数据的排列次序无关

B)每次划分后,先处理较长的分区可以减少递归次数

C)每次划分后,先处理较短的分区可以减少递归次数

D)递归次数与每次划分后得到的分区处理顺序无关

8.已知一棵完全二叉树的第6层(设根为第1层)有8个叶结点,则完全二叉树的结点个数最多是 

A)39         B)52       C)111          D)119

9.设结点A有3个兄弟结点且结点B为结点A的双亲结点,则结点B的度数为(  )。

A) 3         B) 4         C) 5         D) 1

10.对n(n≥2)个权值均不相同的字符构成哈夫曼树,关于该树的叙述中,错误的是( )

A)该树一定是一棵完全二叉树                B)树中一定没有度为1的结点

C)树中两个权值最小的结点一定是兄弟结点    D)树中任一非叶结点的权值一定不小于下一层任一结点的权值

11.设单链表中指针p指向结点A,要删除A之后的结点(若存在),则修改指针的操作为( )。

A)p—>next=p—>next—>next B)p=p—>next C)p=p—>next—>next D)p—>next=p

12.若数据元素序列11,12,13,7,8,9,23,4,5是采用下列排序方法之一得到的第二趟排序后的结果,则该排序算法只能是( )。 

 A)冒泡排序      B)插入排序         C)选择排序          D)二路归并排序

13.用折半查找法在有序表{3,4,10,13,33,46,63,76,78,95,120}中查找95时,需进行的比较次数为()

A)2      B)3      C)4    D)5

14.若无向图G=(V,E)中含7个顶点,则保证图G在任何情况下都是连通的,则需要的边数最少是( )。

A)6             B)15               C)16                       D)21

15.下面的序列中,()是堆。

A)1,2,8,4,3,9,10,5            B)1,5,10,6,7,8,9,2    

C)9,8,7,6,4,8,2,1             D)9,8,7,6,5,4,3,7

三、填空(每空1分,共25分)

1.有一个不含头结点的单链表,头指针为head,则判断其为空的条件为( )。

2.设有向图G用邻接矩阵A[n][n]作为存储结构,则该邻接矩阵中第i行上所有元素之和等于顶点i的( ),第i列上所有元素之和等于顶点i的( )。

3.设有一稀疏图G,则G采用( )存储结构较省空间。

4.对于关键字序列(12,13,11,18,60,15,7,18,25,100),用筛选法建堆,必须从键值为(   )的结点开始。

5.我们学过的构造散列函数的方法有数字分析法、()、分段叠加法、()、伪随机数法。

6.在使用Kruskal算法构造连通网络的最小生成树时,只有当一条候选边的两个端点不在同一个( )上,才会被加入到生成树中。

7.栈和队列是运算()的线性表。

8.设有向图的邻接矩阵为A,如果图中不存在弧<Vi,Vj>,则A[i,j]的值为()。

9.判断线索二叉树中某结点指针P所指结点有左孩子的条件是( )。

10.不含任何字符的串称为( )。

11.在插入排序、冒泡排序、快速排序、归并排序等排序算法中,占用辅助空间最多的是 ( )。

12.一棵树如下所示,该树的度为( ),该树的层数为(),该树的根为(),结点L为()结点,结点D的双亲是(),结点F的度为()。

13.对以下二叉树分别以前序、中序、后序遍历,所得序列为()、()、()。

 14.设一棵二叉树中有n个结点,则当用二叉链表作为其存储结构时,该二叉链表中共有( )个空指针域。

15. 在索引表中,每个索引项至少包含有( )域和( )域这两项。

四、简答题(每题5分,共30分)

1.用序列(46,68,45,98,70,58,90,10,88,89)建立一个二叉排序树,画出该树,并求在等概率情况下查找成功的平均查找长度。

2.字符a,b,c,d,e,f,g的使用频度分别是0.07,0.09,0.12,0.22,0.20,0.27,0.03,画出Huffman树,写出a,b,c,d,e,f,g的Huffman编码。

3.下图是用邻接表存储的图,画出此图,并写出从顶点C开始按深度优先遍历该图的结果。

4.设哈希函数H(K)=k%13,给定键值序列为19,1,23,14,55,20,84,27,68,11,10,77,处理冲突的方法为线性探测再散列,试在0~18的散列地址空间中对该关键字序列构造哈希表,并计算该表查找成功的平均查找长度和查找不成功的平均查找长度。

5.已知一棵二叉树的前序遍历序列:EBADCFHGIKJ,中序遍历序列:ABCDEFGHIJK,试画出该二叉树。

6.已知关键字集合:{ 46,55,13,42,94,17,05,70 },用选择排序从小到大排序,分别写出第一趟、第二趟、第三趟排序结束时的序列,该排序方法稳定吗?

五、算法设计题(每题10分,共20分)

1.设有一个由正整数组成的无序单链表,编写完成下列功能的算法: 

(1)找出最大值结点,且打印该数值; 

(2)若该数值是偶数,则将其与直接后继结点的数值交换;

单链表类型描述:

typedef struct Node   

{  ElemType data;

   struct Node  * next;

}Node, *LinkList; 

2.已知一个二叉树采用二叉链表存放,设计一个算法将所有结点的左、右子树相互交换。

二叉链表类型描述为:

typedef struct Node

{

DataType data;

struct Node * lchild;

struct Node * rchild;

}BiTNode, *BiTree;

(2)答案

一 、判断(每小题1分,共10分) 

1 ╳    2√    3╳    4√    5√    6√    7╳    8√    9╳    10╳

二、选择(每题1分,共15分)

1.B     2.D    3.D   4.D    5.B    6.C    7.D    8.C    9.B     10.A

11.A    12.B   13.B   14.A    15.A

三、填空每空125

1.head==NULL

2.出度   入度

3.邻接表

4. 60

5.平方取中法   除留余数法

6.集合

7.受限

8.0

9.p->ltag==0

10.空串

11.归并排序

12.3  4  A  叶子(终端)  A    0 

13.ABDGCEF   DGBAECF   GDBEFCA 

14.n+1

15. 块内最大(小)关键字   块起始地址

四、简答题(每题5分,共30分)

                       

Huffman编码:        7(a):11111

                                9(b):1110

                                12(c ):110

                                22(d):01

                                20(e):00

                                27(f):10

                                3(g):11110

 

  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
综合试题答案,帮助大家更好的复习.25、用一组地址连续的存储单元存放的元素一定构成线性表。( ) A ) 平均情况下,快速排序法最快,堆积排序法最节省空间 若线性表采用顺序存储结构,每个数据元素占用4个存储单元,第12个数据元素的存储地址为144,则第1个数据元素的存储地址是101。Loc(ai)=locl+(i—1)( ) 若长度为n的线性表采用顺序存储结构,删除表的第i个元素之前需要移动表中n-i+1个元素。( )【这是插入的,删除的n-i】 确定串T在串S中首次出现的位置的操作称为串的模式匹配。( 深度为h的非空二叉树的第i层最多有2i-1 个结点。 散列表的查找效率主要取决于所选择的散列函数与处理冲突的方法。 稀疏矩阵压缩存储后,必会失效掉随机存取功能 若一个有向图的邻接矩阵中,对角线以下元素均为0,则该图的拓扑有序序列必定存在。( ) 二叉树可以用0≤度≤2的有序树来表示。 非空双向循环链表中由q所指的结点后面插入一个由p指的结点的动作依次为:p->prior=q, p->next=q->next,q->next=p,q->prior->next←p。( ) 删除非空链式存储结构的堆栈(设栈顶指针为top)的一个元素的过程是依次执行:p=top,top= p->next,free (p)。( ) 排序是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个按关键字有序的序列。( ) 在索引顺序表上实现分块查找,在等概率查找情况下,其平均查找长度不与表的个数有关,而与每一块中的元素个数有关 无向图的邻接矩阵是对称的有向图的邻接矩阵是不对称的。( _ D _ C B D D C C A B ( C A B D D C B. C C D 如果某图的邻接矩阵是对角线元素均为零的上三角矩阵,则此图是 D D D C A D A D D B A D A B D B C B ( D A B D C 6___ ( C D D __ C A B D 针q所指 C A A D A D B  D A② D A、 )的有限集合 C _B A  C A  C A D ( D C A D B ( B D ( D _ A A ) ( C A ( B ( B D 只有在初始数据为逆序时,冒泡排序所执行的比较次数最多。(

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值