数据结构真题及答案.pdf
《数据结构真题及答案.pdf》由会员分享,可在线阅读,更多相关《数据结构真题及答案.pdf(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、06数据构造50分 一、单项选择题(在每题的四个备选答案中,选出一个正确的答案,并将其号码填写在题干后面的括号内。每 题1分,共10分)1.数据的根本单位是()A.数据项 B.数据类型 C.数据对象 D.数据元素2.假设频繁的对线性表进展插入和删除操作,则该线性表应当承受 存储构造。()A.挨次 B.链式 C.散列 D.任意3.假设进栈序列为3,5,7,9,进栈过程中可以出栈,则不行能的出栈次序是()A.7,5,3,9 B.9,7,5,3 C.7,5,9,3 D.9,5,7,34.下面的说法中,正确的选项是()A.字符串的长度指串中包含的字母的个数B.字符串的长度指串中包含的不同字符的个数C.
2、一个字符串不能说是其自身的一个子串D.假 设 T 包含在S 中,则T 肯定是S 的一个子串5.广义表Ka,b),(c,d)的表尾是()A.d B.c,d C.(c,d)D.(c,d)6.n个顶点的连通图,其生成树有 条边。()A.n-1 B.n C.n+1 D.不确定7.假设一棵二叉树有8 个度为2 的结点,则该二叉树的叶节点个数为()A.7 B.8 C.9 D.不确定&在 有 n 个节点的二叉链表中有 个空链域。()A.n+1 B.n C.n-1 D.不确定9.在等概率的状况下,承受挨次插查找法查找长度为n 的线性表,平均查找长度为()A.n B.n/2 C.(n+l)/2 D.(n-l)/
3、210.以下排序方法中,排序的比较次数与序列的初始排列状态无关的是()A.选择排序 B.插入排序 C.冒泡排序 D.快速排序二、填 空 题(本 大 题 共10小题,每 题1分,共10分)1 .假定一个挨次队列的队首和队尾分别为f 和 r,则推断队空的条件为。2.在挨次存储的线性表中插入或删除一个元素平均约移动表中 的元素。3.设有一个二维数组A 5|4|,按行序优先存储,A|O|O的存储地址是1 0,每个数组元素占2 个字节,则A 的存储地址是。4.深度为k 的二叉树至多有 个结点。(kl)5.在有n 个结点,e 条边的有向图的邻接表中有 个表结点。6.对一棵二叉树进展 遍历时,得到的结点序列
4、是一个关键字的有序序列。7.在一个图中,全部顶点的度数之和是边数的 倍。8.假设有序表(15,21,33,46,58,80,8 7)中折半查找元素3 3 时,与关键字比较次查找成功。9.设哈希表长m=14,哈希函数H(key)=key MOD 11。表中已有4 个元素:0 1 2 3 4 5 6 7 8 9 10 11 12 13I I I 1 I is 13 8 16 1 18 4 1 I I r n r n假设用二次探测再散列处理冲突,关键字为4 9 的记录的存储位置是10.具有n 个顶点的无向完全图,有 条边。三、推 断 题(本大题共5小题,每 题1分,共5分)1.算法在执行时,对同样的
5、输入可以得到不同的结果。()2.线性表的链式存储构造的内存单元地址肯定不连续。()3.队列允许插入的一段成为队尾,允许删除的一端称为队头。()4.拓扑排序是内部排序。()5.树转换成二叉树,其根结点的右子树肯定为空。()四、综 合 应 用 题(本大题共3小题,每 题5分,共15分)1.画出具有三个结点的二叉树的全部形态(不考虑数据信息的组合状况)。(5分)2.写出以下图的邻接矩阵,并写出其从V I 动身的深度优先搜寻遍历序列(5 分)3.将以下图所示的树转换成二叉树,并写出该二叉树的先序遍历序列。(5分)五、算 法 设 计(本大题共1小题,共10分)1.线性表承受链式存储构造,结点类型定义如下
6、,试编写一个算法,在带头结点的单链表L中,删除全部值为x 的结点。typedef struct LNodeElemType data;struct LNode next;LNode,*Linklist;07 数据构造 50分一、单 项 选 择 题(1 0 分,每 题 1 分)1.按二叉树的定义,具 有 3 个结点的二叉树有 种。()A.3 B.4 C.5 D.62.假设一个栈的入栈序列是1,2,3,,n,其输出序列为pl,p2,p3.p n,假设p l=n,则 pi 为()A.i B.n=i C.n-i+q D.不确定3.下面结论 是正切的。()A.树的先根遍历序列与其对应的二叉树的先序遍历序
7、列一样B.树的后根遍历序列与其对应的二叉树的先序遍历序列一样C.树的先根遍历序列与其对应的二叉树的中序遍历序列一样D.以上都不对4.评价一个算法时间性能的主要标准是()A.算法易于调试 B.算法易于理解C.算法的稳定性和正确性 D.算法的时间简单度5.线性表的挨次存储构造是一种 的存储构造。()A.随机存取 B.挨次存取 C.索引存取 D.散列存取6.在挨次表中,只要知道,就可在一样时间内求出任一结点的存储地址。()A.基地址 B.结点大小 C.向量大小 D.基地址和结点大小7.在中序线索二叉树中,假设某结点有右孩子,则该结点的直接后继是()A.左子树的最右下结点 B.右子树的最右下结点C.左
8、子树的最左下结点 D.右子树耳朵最左下结点&一个栈的入栈序列是abcde,则栈的不行能输出序列是()A.edcba B.decba C.dceab D.abcde9.广义表是线性表的推广,它们之间的区分在于()A.能否使用子表 B.能否使用原子项C.表的长度 D.是否能为空10.假设一棵二叉树具有10个度为2 的结点,则该二叉树的度为0 的结点的个数是()A.9 B.ll C.12 D.不确定二、填 空 题(每 空 1 分,共 1 0 分)1.挨次表中规律上相邻的元素的物理位置_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _。2.在分块查找方法中,首先查找索引表,
9、然后再用挨次查找方法查找相应的3.安排排序的两个根本过程是4.在拓扑排序中,拓扑序列的第一个顶点必定是 为0的顶点。5.有n个结点的二叉链表中。其中空的指针域为,6.有 向 图 的 邻 接 表 表 示 适 于 求 顶 点 的。7.有向图的邻接矩阵表示中,第i _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _上非零元素的个数为顶点v i的入度。8.在树的 表示法中,求指定结点的双亲或祖先格外便利,但是求指定结点的孩子或其他后代可能要遍历整个数组。9.由五个分别带权值为9,2,3,5,1 4的叶子结点构成一棵哈夫曼树,该树的带权路径长度为1 0.具有n个顶点的有向图最
10、多有 条边。三、填空题(3 0分)1.写出头插法建立单链表的算法(5分)2.求单源最短路径(从源点0开头),要求写出过程。(5分)3.某二叉树的中序遍历序列:d f a e c h i后序遍历序列:f d b e h i c a(1)请构造出该二叉树;(3分)(2)写出前序遍历序列;2分)4.设查找的关键字序列 1 5,4,3 0,4 1 1 1,2 2,1。画出对应的二叉排序树。(5分)5.写出图的广度优先搜寻算法(用邻接表存储)(5分)6.线性表的关键字集合:1 9,1 4,2 3,0 1,6 8,2 0,8 4,2 7,5 5,1 1,1 0,7 9 散列函数为:H (k)=k%1 3,
11、承受拉链法处理冲突,并设计出链表构造。(5分)08 数据构造50分 一、单项选择题(1 0分,每 题1分)1.假设一个栈的输入序列为1,2,3,,n,输出序列的第一个元素是i,则 第i个输出元素 是()A.i-j-1 B.i-j C.j-i+1 D.不确定的2.循 环 队 列 存 储 在 数 组 中,则入队的操作为()A.rear=rear+1 B.rear=(rear+1 )mod(m-1)C.rear=(rear+l)mod m D.rear=(rear+1 )mod(m+1)3.二维 数 组 A 的每个元素是由6 个字符组成的串,其 行 下 表 i=0,1,,8,列下表j=l,2.10。
12、假 设 A 按行序为主序存储,元 素 A85的起始地址与当A 按列序为主序存储时的元素 的起始地址一样。(设每个字符占一个字节)()A.A85 B.A310 C.A58 D.A094.下面说法不正确的选项是0A.广义表的表头总是一个广义表 B.广义表的表尾总是一个广义表C.广义表难以用挨次存储构造 D.广义表可以是一个多层次的构造5.算术表达式A+B*C-D/E转为前缀表达式后为0A.-A*C/DE B.-A+B*CD/E C.-+ABC/DE D.-+A*BC/DE6.有n 个叶子的哈夫曼树的结点总数为0A.不确定 B.2n C.2n+1 D.2n-17.假 设 X 是中序线索二叉树中一个有
13、左孩子的结点,且X 不为根,则X 的前驱为()A.X的双亲 B.X的右子树中最左的结点C.X的左子树中最右结点 D.X的左子树中最右叶结点8.无向图 G=(V,E),其中 V=a,b,c,d,e,f,E=a,b),a,e,at c.b.e,c,f,f,d,e,d ,对该图进展广度优先遍历,得到的顶点序列正确的选项是()A.a,b,e,c,d,f B.a,c,f,e,b,dC.a,e,b,c,f,d D.a,e,d,f,c,b9.假定有k 个关键字互为同义词,假设用线性探测法把这k 个关键字存入散列表中,至少要进展 探测。()A.k-1 次 B.k 次 C.k+1 次 D.k(k+1)/2 次1
14、0.以下排序算法中,在每一趟都能选出一个元素放到其最终位置上,并且其时间性能受数据初始特性影响的是()A.直接插入排序 B.快速排序 C.直接选择排序 D.堆排序二、填 空 题(5分,每 题1分)1.在有序表AI1.12中,承受折半查找算法查等于A|12|的元素,所比较的元素下标依次为2.求图的最小生成树有两种算法,算法适合于求稀疏图的最小生成树。3.一棵左子树为空的二叉树在先序线索化后,其 中 的 空 链 域 的 个 数 为。4.在单链表L 中,指针p 所指结点有后继结点的条件是。5.一个深度为k,具有最少结点数的完全二叉树按层次,(同层次从左到右)用自然数依次对结点编号,则编号是i 的结点
15、所在的层次号是(跟所在的层次号规定为1层)。三、推 断 题(5分,每 题1分)1.链表是承受链式存储构造的线性表,进展插入、删除操作时,在链表中比在挨次存储构造中效率图。()2 .对一棵二叉树进展层次遍历时,应借助于一个栈。(3 .将一棵树转成二叉树,跟节点没有左子树。()4 .一个有向图的邻接表和逆邻接表中结点的个数可能不等。()5 .在待排序数据有序的状况下,快速排序效果好。()四、应 用 题(20分,每题5分)1 .用集合 4 6,8 8,4 5,3 9,7 0,5 8,1 0 1,1 0,6 6,3 4 建立一棵二叉排序树,画出该树,并求在等概率状况下的平均查找长度。2 .设一组关键字
16、 9,0 1,2 3,1 4,5 5,2 0,8 4,2 7 ,承受哈希函数:H (ke y)=ke ym o d 7和二次探测再散列法解决冲突,对该关键字序列构造表长为1 0 的哈希表。3 .假设用于通讯的电文仅由8个字母组成,字母在电文中消灭的频率分别为0.0 7、0.1 9、0.0 2、0.0 6、0.3 2、0.0 3、0.2 1、0.1 0,试为这8个数字设计哈夫曼编码。4 .用普里姆算法构造以下图的一棵最小生成树,并给出选点挨次。(以为起点)五、算法设计题(10分)编写一个算法来交换单链表中指针P所指接点与其后继结点,HEAD是该链表的头结点,P指向该链表中的某一结点。山东省202
17、2年一般高等教育专升本统一考试数据构造(5 0分)一、单项选择题(1()分,每 题 1 分)1 .【答案】D【解析】栈的根本性质是后进先出,此题中,在输出序列第一个元素是i时,只 能 确 定 1-i-1 这些元素的输出的先后次序,但是不能确定出第i个元素具体输出哪个元素。2 .【答案】D【解析】在循环队列中,r e a r 指针指示队尾,此题中存储数组实质上为A m+1 。所以,入队列的操作应当是修改r e a r=(r e a r+l)%(m+l),答案C是错误的。3.【答案】B【解析】此题中二维数组属于9行 1 0 列。所以,首先确定以行序为主序的存储中,A 8 5 在全部元素排列中的位置
18、为第8 5 位,同样确实定以列序为主序的第8 5 个存储元素的元素应当为A 3 1 0 。4.【答案】A【解析】构成广义表的数据元素可以是单个元素,也可以是广义表。广义表的表头就是广义表中的第一个元素,可以是单个元素,也可以是子表。选项B、C、D都是正确的。5.【答案】D【解析】在算数表达式的前缀表达式实质上就是运算符写在两个运算数的前面,固然在实现转换时,要考虑运算数的相对位置不变,而且考虑运算的优先级问题。固然,也可以采用二叉树表示出算数表达式,这样,前序遍历挨次即为前缀表达式(波兰式),后序遍历即位后缀表达式(逆波兰式),此题答案选D。6.【答案】D【解析】哈夫曼树的特点是没有度为1的结
19、点,依据二叉树的性质3,n0=n2+l,所以,具有n个叶子结点的二叉树具有n-l个度为2的结点,因此,答案选D。7.【答案】C【解析】由于在中序线索二叉树中,结 点X有左子树,所以,该结点前驱在左子树中,左子树中最右的结点是子树中最终一个遍历的结点,该结点可能为叶子结点,也可能是度为1的 结 点(即有左孩子)。8.【答案】A【解析】依据此题无向图的定义,可以图G如右图所示:、,依据广度优先遍历的算法思想,可以确定A是正确的,选项B、C、D都是错误的。9.【答案】D【解析】实行线性探测法存储这k个同义词,则第一个关键字可以直接存储,其 余 的k-1个元素中,抱负的状况下,第1个元素探测1次可以存
20、储,第2个元素探测2次才能存储,以此类推,因此,至少需要探测的次数为k(k+l)/2。10.【答案】B【解析】直接插入排序的算法思想是从第2到最终一个元素,依次插入到前面的有序序列中,因此,每趟执行完毕,不能确定出一个元素最终的位置:快速排序的每趟可以确定出枢轴元素的最终位置,而且,当元素根本有序时,其排序性能会降低,所 以 选B o选 项C、D能符合第一条要求,但是其时间性能跟待排元素的序列无关。二、填 空 题(本大题共10小题,每 题1分,共10分)1.【答案】6、9、11、12【解析】依据有序表的折半查找的m id的取值为(low+high)/2,可以确定判定树的形态如下,10J 112
21、查 找 下 标 为1 2的元素时,先后要与下标为:6、9、11、1 2四个元素进展比较。2.【答案】克鲁斯卡尔(K r u ska l)【解析】求解最小生成树的算法主要有两种,普里姆算法(P rim)时间简单度为O (n2),与网中的边数无关,因此适合于求边稠密的网的最小生成树;而克鲁斯卡尔(K ru ska l)算法时间简单度为O (e log e),因此,适合于求边稀疏的网的最小生成树。3.【答案】2【解析】左子树为空,则根结点没有前驱,左孩子指针域为空,另外,根结点右子树中最终一个结点没有后继,右孩子指针域也为空,所以,该二叉树中空链域的个数为2。4.【答案】p-ne x t!=N U
22、L L (或文字说明“指针P所指结点的指针域不等于N U L L”)【解析】在单链表L中,指 针p所指结点有后继,前提是指针P所指结点的指针域不等于NULL,假设指针域默认为ne x t,则可以表示为“p-ne x t!=N U L L”。(注:NULL肯定是大写)L log z j+i5 .【答案】2【解析】深 度 为K的结点已经构成完全二叉树,所 以 前i个结点也为完全二叉树,所以依据性质4可以确定第i个结点的深度为L g 2 J+1。三、推 断 题(5分,每 题1分)1.【答案】V【解析】链式存储构造的线性表的优点就在于实现插入和删除操作时,不需要大量元素的移动,因此,比挨次存储构造中实
23、现插入删除操作效率高。2【答案】X【解析】实现二叉树的按层遍历时,应借助于一个队列作为关心构造。3【答案】V【解析】树转换为二叉树是依据的孩子兄弟表示法这种存储构造,树根没有兄弟,所以,一棵树转换成二叉树,对应二叉树根结点没有左子树。4【答案】X【解析】有向图的邻接表中结点的个数与逆邻接表中结点的个数是相等的,都等于图中全部顶点的入度和(或出度和)的值。5【答案】X【解析】就平均时间而言,快速排序目前被认为是最好的一种内部排序方法,但是,当待排序列根本有序时,快速排序将蜕化为冒泡排序,因此,排序效果反而降低。四、综合应用题(本大题共3小题,每 题5分,共1 5分)1-答:依据结点画出二叉排序的
24、过程如下图:等概率状况下,平均查找长度为:1 5*2+4*2+3*3+2*2+1*1)/1 0=3.22 .答:依据哈希函数和处理冲突的方法为二次探测再散列,构造哈希表如下图:0 1 2 345 67891 4 1 9 2 3 84 2 7 5 5 2 0【解析】留意关键字的挨次,9%7=2;1%7=1;2 3%7=2,冲突,但是(2+1 2)%1 0=3;1 4%7=0;5 5%7=6;2 0%7=6,冲突,但是(6+1 2)%1 0=7;84%7=0,冲突,但是(0+1 2)%1 0=1,已经占用,由于函数值己经是0 了,在这里不能再摸索-1 2,因此(0+2 2)%1 0 必,所以8 4
25、 存储在下标4的单元格内。最 终 2 7%7=6,冲 突,(6+1 2)%1 0=7,仍旧冲突,(6-1 2)%1 0=5,所 以 2 7 存储在下标5的单元格内。3 .答:依据每个字符消灭的频率,我们可以求解哈夫曼树,为便利求解,不妨将频率变为整数,则权值分别为:7,1 9,2,6,3 2,3,2 1,1 0,由此构造哈夫曼如图:由此可以设定每个字符的哈夫曼编码:0.0 2:0 0 0 0 0:0.0 3:0 0 0 0 1;0.0 6:0 0 0 1;0.0 7:0 0 1 0;0.1:0 0 1 1;0.3 2:0 1;0.1 9:1 0;0.2 1:1 1.4 .答:依据普里姆算法构造
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 答案
限制150内