数据结构试题(含答案)
更新时间:2023-10-25 22:49:01 阅读量: 综合文库 文档下载
一.是非题
(正确的打“√”,错误的打“×”。) 1. 数据结构可用三元式表示(D,S,P)。其中:D是数据对象,S是D上的关系,
P是对D的基本操作集。×
2. 线性表的链式存储结构具有可直接存取表中任一元素的优点。 × 3. 字符串是数据对象特定的线性表。
4. 二叉树是一棵结点的度最大为二的树。 ×
5. 邻接多重表可以用以表示无向图,也可用以表示有向图。× 6. 可从任意有向图中得到关于所有顶点的拓扑次序。× 7. 一棵无向连通图的生成树是其极大的连通子图。× 8. 二叉排序树的查找长度至多为log2n。×
9. 对于一棵m阶的B-树.树中每个结点至多有m 个关键字。除根之外的所有非终端结点至
少有┌m/2┐个关键字。×
10.对于目前所知的排序方法,快速排序具有最好的平均性能。
11. 顺序存储方式的优点是存储密度大,且插入、删除运算效率高。× 12. 二维数组是其数据元素为线性表的线性表。
13. 连通图G的生成树是一个包含G的所有n个顶点和n-1条边的子图。× 14. 折半查找不适用于有序链表的查找。 15. 完全二叉树必定是平衡二叉树。
16. 中序线索二叉树的优点是便于在中序下查找直接前驱结点和直接后继结点。 17. 队列是与线性表完全不同的一种数据结构。× 18. 平均查找长度与记录的查找概率有关。
19. 二叉树中每个结点有两个子结点,而对一般的树,则无此限制,所 以,二叉树是树的特殊情形。×
20. 算法的时间复杂性越好,可读性就越差;反之,算法的可读性越好,则时间复杂性就越差。×
二.选择题
1. 若对编号为1,2,3的列车车厢依次通过扳道栈进行调度,不能得到 ( e ) 的序列。 a:1,2,3 b:1,3,2 c:2,1,3 d:2,3,1 e:3,1,2 f:3,2,1
2. 递归程序可借助于( b )转化为非递归程序。
a:线性表 b: 栈 c:队列 d:数组
3. 在下列数据结构中( c )具有先进先出(FIFO)特性,
( b )具有先进后出(FILO)特性。
a:线性表 b:栈 c:队列 d:广义表
4. 对字符串s=’data-structure’ 执行操作replace(s,substring(s,6,8),’bas’)
的结果是 ( d ) 。
a: ‘database’ b: ‘data-base’ c: ‘bas’ d: ‘data-basucture’
5. 设有二维数组A 5 x 7 ,每一元素用相邻的4个字节存储,存储器按字节编址。
已知A的起始地址为100。则按行存储时,元素A06的第一个字节的地址是( d ) 按列存储时,元素A06的第一个字节的地址是( a ) a: 220 b: 200 c: 140 d: 124
6. 对广义表 A=((a,(b)),(c,()),d)执行操作gettail(gethead(gettail(A))) 的结果是:( b ) 。 a:() b: (()) c: d d: (d)
7.假设用于通讯的电文仅由6个字符组成,字母在电文中出现的频率分别为7, 19, 22, 6, 32, 14。 若为这6个字母设计哈夫曼编码(设生成新的二叉树的规则是按给出的次序从左至右的结合,新生成的二叉树总是插入在最右),则频率为7的字符编码是( g ),频率为32的字符编码是( c )。
a: 00 b: 01 c: 10 d: 11 e: 011 f: 110 g: 1110 h:1111
8. 对二叉排序树( b )可得到有序序列。
? ? a:按层遍历 b:前序遍历 c:中序遍历 d:后序遍历
9.已知某树的先根遍历次序为abcdefg,后根遍历次序为cdebgfa。
若将该树转换为二叉树,其后序遍历次序为( d )。
a: abcdefg b: cdebgfa c: cdegbfa d: edcgfba
10.对一棵完全二叉树进行层序编号。则编号为n的结点若存在右孩子,其位序是( d )。
编号为n的结点若存在双亲,其位置是( a )。
a: n/2 b: 2n c:2n-1 d:2n+1 e:n f: 2(n+1)
11.关键路径是指在只有一个源点和一个汇点的有向无环网中源点至汇点( c )的路径。
a:弧的数目最多 b:弧的数目最少 c:权值之和最大 d:权值之和最小
12. 哈希表的查找效率取决于( d )。
a: 哈希函数 b:处理冲突的方法。 c:哈希表的装填因子。 d:以上都是 13.从逻辑上可以把数据结构分成( c )。
A. 动态结构和静态结构 B. 顺序组织和链接组织
C. 线性结构和非线性结构 D. 基本类型和组合类型
14.在计算递归函数时,如不用递归过程,应借助于( b )这种数据结构。
A. 线性表 B. 栈 C. 队列 D. 双向队列
15.若已知某二叉树的中序和后序遍历序列分别BCAEFD和CBFEDA,则该二叉树的先序
序列为( a )。
A. ABCDEF B. ABDCEF C. ABDCFE D. ACBDFE
16.当待排序序列的关键字次序为倒序时,若需为之进行正序排序,下列方案中( d )为佳。 A. 起泡排序 B. 快速排序
C. 直接插入排序 D. 简单选择排序
17.若从二叉树的根结点到其它任一结点的路径上所经过的结点序列按其关键字递增有序,
则该二叉树是( c )。
A. 二叉排序树 B. 赫夫曼树 C. 堆 D. 平衡二叉树
18.下图所有可能的拓扑序列有( b )种。
A. 2 B. 3 C. 4 D. 5
19.下列排序算法中,( d )算法可能会出现:初始数据为正序时,花费的时间反而最多。
A. 堆排序 B. 起泡排序 C. 归并排序 D. 快速排序
20.右图为一棵3阶B-树。 20 ,25 在该树上插入元素15
后的B-树是( c )。 10 , 14 21 35
A. 15 , 25 B. 20 , 25
10 , 14 20 , 21 35 10 , 14 15 , 21 35
C. 20 D. 14 , 25
14 25 10 , 15 20 , 21 35
10 15 21 35
21.设森林F中有三棵树,第一、第二和第三棵树的结点个数分别为m1、m2和m3,则与
森林F对应的二叉树根结点的右子树上的结点个数是( d )。
A. m1 B. m1+m2 C. m3 D. m2+m3
22. 根据插入次序(80,90,100,110,85,70,75,60,72)建立二叉排序树。
图( a )是最终变化的结果。
若仍以该插入次序建立平衡二叉树。图( c )是最终变化的结果。
80 80
70 90 75 90
60 75 85 100 60 70 85 100
72 110 72 110 a: b:
90 90
75 100 80 100
70 80 110 75 70 85 110
60 72 85 60 72
c: d:
23.设输入序列为20,45,30,89,70,38,62,19依次插入到一棵2-3树中(初始状态为空),该B-树为( b )。再删除38,该B-树为( f )。
( 30 62 ) ( 45 )
(19,20)( 38 45 ) ( 70,89 ) ( 30 ) ( 70 )
(19 20) (38 )( 62 ) ( 89 )
a: b:
( 45 70 ) ( 45 )
(20) ( 62 ) ( 89 ) ( 20 ) ( 70 )
(19)( 30 ) ( 19 ) ( 30,38 )( 62 ) ( 89 )
c: d:
( 30 70 ) ( 45 )
(19,20) ( 45 62) ( 89 ) ( 20 ) ( 70 )
(19 ) (30 )( 62 ) ( 89 )
e: f:
24.已知一组待排序的记录关键字初始排列如下:45,34,87,25,67,43,11,66,27,78 。 ( g )是快速排序法一趟排序的结果;
( a )是希尔排序法(初始步长为4)一趟排序的结果; ( b )是初始堆(大堆顶);
( d )是基数排序法一趟排序的结果。
A.27,34,11,25,45,43,87,66,67,78 B.87,78,45,66,67,43,11,25,27,34 C.11,43,34,25,45,66,27,67,87,78 D.11,43,34,45,25,66,87,67,27,78 E. 34,45,25,67,43,11,66,27,78,87 F.87,45,11,25,34,78,27,66,67,43 G.27,34,11,25,43,45,67,66,87,78 H.34,11,27,25,43,78,45,67,66,87
25.若有序表中关键字序列为:14,20,25,32,34,45,57,69,77,83,92。对其进行
折半查找,则在等概率情况下,查找成功时的平均查找长度是( c )。查找32时需进行( c )次比较。
A. 1 B. 2 C. 3 D. 4 26. 设一棵二叉树BT的存储结构如下:
1 2 3 4 5 6 7 8 lchild 2 3 0 0 6 0 0 0 data A B C D E F G H rchild 0 5 4 0 8 7 0 0 其中lchild,rchild分别为结点的左、右孩子指针域,data为结点的数据域。则
该二叉树的高度为( d );
第3层有( a )个结点(根结点为第1层)。
A.2 B. 3 C. 4 D. 5
27. 一个连通图的最小生成树( b )。
A.只有一棵 B. 有一棵或多棵 C. 一定有多棵 D. 可能不存在 28.若某二叉树有20个叶子结点,有20个结点仅有一个孩子,则该二叉树的总结点数是( c )。 A.40 B. 55 C. 59 D. 61
29.已知哈希表地址空间为A[0..8],哈希函数为H(k)=k mod 7,采用线性探测再散列处理
冲突。若依次将数据序列:76,45,88,21,94,77,17存入该散列表中,则元素17存储的下标为( f );在等概率情况下查找成功的平均查找长度为( c )。 A. 0 B. 1 C. 2 D. 3
E. 4 F. 5 G. 6 H. 7 30.已知某有向图的邻接表存储结构如图所示。 ? ??????? 0 E 2 1 ∧
1 D 0 3 4 ∧
2 C 4
3 B 1 2 0 ∧
4 A 2 ∧
根据存储结构,依教材中的算法其深度优先遍历次序为( d )。 广度优先遍历次序为( c )。各强连通分量的顶点集为( )。
a: abcde. b: edcba. c: ecdab. d: ecadb. e: abc及ed f: ac及bed g: ab及ced h: bc及aed 31. 已知某无向图的邻接表如下所示;
( )是其原图。 ( )是按该邻接表遍历所得深度优先生成树。 ( )是按该邻接表遍历所得广度优先生成树。 0 a 3 2 1 1 b 3 0 2 c 4 3 0 3 d 5 2 1 0 4 e 5 2 5 f 4 3 A. a b B. a b C. a b
c d c d c d
e f e f e f
D. a b E. a b F. a b
d c c d c d
f e e f e f
32.若顺序表中各结点的查找概率不等,则可用如下策略提高顺序查找的效率:若找到指定
的结点,将该结点与其后继(若存在)结点交换位置,使得经常被查找的结点逐渐移至 表尾。以下为据此策略编写的算法,请选择适当的内容,完成此功能。 顺序表的存储结构为: typedef struct{
ElemType *elem; //数据元素存储空间,0号单元作监视哨 int length; //表长度 }SSTable;
int search_seq(SSTable ST, KeyType key)
{ //在顺序表ST中顺序查找关键字等于key的数据元素。
//若找到,则将该元素与其后继交换位置,并返回其在表中的位置,否则为0。 ST.elem[0].key=key; i=ST.length;
while(ST.elem[i].key!=key) ; if( )
{ ST.elem[i]←→ST.elem[i+1]; ; } return i; }
A. i>0 B. i>=0 C. i Void heapadjust( heaptype & H , int s , int m ) { rc=H.r[s]; for (j=2*s;j<=m;j*=2) { if (j ; }//heapadjust a: (H.r[j].key>H.r[j+1].key); b: !(rc.key< H.r[j].key); c: (H.r[j].key 三.算法设计题 1. 单链表结点的类型定义如下: typedef struct LNode { int data; struct LNode *next; } LNode, *Linklist; 写一算法,Contrary(linklist &L) ,对一带头结点且仅设尾指针L的循环单链表 就地逆置。(即表头变表尾,表尾变表头。) 2.二叉树用二叉链表存储表示。 typedef struct BiTNode { TelemType data; Struct BiTNode *lchild, *rchild; } BiTNode, *BiTree; 试编写销毁二叉树T的算法DestroyBiTree ( BiTree &T)。 3.设带头结点的单链表中的元素以值非递减有序排列,试编写算法,删除表中所有值相同的多余元素。 单链表结点的类型定义如下: typedef struct LNode{ int data; Struct LNode *next; }LNode, *LinkList; 4.二叉树用二叉链表存储表示。 typedef struct BiTNode { TelemType data; Struct BiTNode *lchild, *rchild; } BiTNode, *BiTree; 试编写算法,求元素值为x的结点的左孩子(返回x的左孩子的指针)。
正在阅读:
数据结构试题(含答案)10-25
工资管理系统(软件工程,面向对象)01-23
母牛提前(20-24月龄)产犊技术12-28
3T货车驱动桥设计说明书 - 图文05-12
专插本毛论复习整理01-01
MASK操作手册(销售单位简化版)cz04-30
秘书应用写作 - 图文06-04
我的奇思妙想作文450字07-04
2022年关于收获的高中英语作文04-14
测试工程师面试题及参考答案04-04
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 数据结构
- 试题
- 答案
- 专题讲座 高中英语学习策略
- 中国古代诗歌散文欣赏理解性默写(选修)(附答案)
- 无线侧简单QACT信令分析流程
- (新课标)2020高考历史二轮复习开放型大题专项练(四)
- 六自由度机器人示教编程与再现控制实验
- 集食惠精选产品:滇秀冰岛纯料正宗冰岛古树纯料 - 图文
- 单门门禁系统解决方案 Microsoft Wo 文档
- 2016-2017学年江苏省南京市鼓楼区九年级(上)期末化学试卷
- 作业治疗OT
- 邹忌讽齐王纳谏练习题(附答案)
- 变换题库
- 德国工会研究 马哲
- 铆工中级应知要求试题
- 收银作业手册
- 关于印发《浙江省新型墙体材料专项基金征收和使用管理实施办法》的通知
- 三旧改造专题
- 西南交通大学2008年硕士研究生招生入学考试公共经济学试卷答案
- 最新2018年一级建造师公路实务笔记(一次通过全部高手上传)
- 二级国际货运练习题(带答案)
- 初级职称(助理工程师)见习期工作总结 范本