《2022年电大《数据结构》复习题及答案.docx》由会员分享,可在线阅读,更多相关《2022年电大《数据结构》复习题及答案.docx(51页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选学习资料 - - - - - - - - - 数据结构 本 复习题一、单项选择题每道题 2 分,共 30 分 个结点 根所在结点为第一层;1深度为 5 的完全二叉树共有20 个结点,就第5 层上有 A 3 B8 ;C5 D6 2已知一个图的边数为ii ,就该图的全部顶点的度数之和为A 2m Bm 结构;C2m+1 Dm/2 3数据结构中,与所使用的运算机无关的是数据的 A 物理B储备C规律与物理D规律4链表所具备的特点是 ;A 可以随机拜访任一结点B占用连续的储备空间C插人删除不需要移动元素结点D可以通过下标对链表进行直接拜访5线性表只要以 方式储备就能进行折半查找;A 链接B次序C关键字
2、有序的次序D二又树6散列查找的原理是;A 在待查记录的关键字值与该记录的储备位置之间建立确定的对应关系B按待查记录的关键字有序的次序方式储备C按关键字值的比较进行查找D基于二分查找的方法7对 n 个元素进行冒泡排序如某趟冒泡中只进行了 次元素间的交换, 就说明序列已经排好序;A 1 B2 C0 Dn-1 8排序过程中,每一趟从无序子表中将一个待排序的记录按其关键字的大小放置到已经排好序的子序列的适当位置,直到全部排好序为止,该排序算法是 ;当进行到要把第7 个元素 70 插入A 直接插入排序B快速排序C冒泡排序D选择排序9在对一组元素 64,48,106,33,25,82,70,55,93 进
3、行直接插入排序时,第 1 页 共 30 页名师归纳总结 - - - - - - -第 1 页,共 30 页精选学习资料 - - - - - - - - - 到已经排好序的子表时,为找到插人位置,需进行 次元素 n 的比较 指由小到大排序;行 A 6 B2 ,最坏的情形下要进C3 D4 10采纳次序查找法对长度为n 的线性表进行查找不采纳表尾设监视哨的方法次元素间的比较; ;A n+2 Bn Cn-1 Dn/2 11 如图,如从顶点a 动身按广度优先搜寻法进行遍历,就可能得到的顶点序列为A acebdgf Babecdgf Cacfedgb Dabecfdg 12元素 2,4,6,8 按次序依次
4、进栈,就该栈的不行能输出序列是 进栈出栈可以交替进行 ;A 8, 6,4,2 B2,4,6,8 C4, 2,8,6 D8,6,2,4 13排序方法中,从未排序序列中选择元素,并将其依次放人已排序序列 初始为空 的一端的方法,称为 排序;A 归并 B插人C选择 D快速I4一棵哈夫曼树总共有 23 个结点,该树共有 个叶结点 终端结点 ;A 10 B13 C11 D12 15队列的插人操作在 进行;A 队头 B队尾C队头或队尾 D在任意指定位置二、填空题 每道题 2 分;共 24 分 16一棵二又树没有单分支结点,有6 个叶结点,就该树总共有_个结点;第 2 页 共 30 页名师归纳总结 - -
5、- - - - -第 2 页,共 30 页精选学习资料 - - - - - - - - - 17设一棵完全二叉树, 其最高层上最右边的叶结点的编号为奇数,该叶节点的双亲结点的编号为10,该完全二又树一共有 _个结点;18依据二又树的递归定义,对二叉树遍历的常用算法有先序、_、 _三种;19结构中的数据元素存在一对多的关系称为 _结构;20把数据储备到运算机中,并详细表达数据之间的规律结构称为_ 结构;21结构中的数据元素存在一对一的关系称为 _结构;22如图 2 所示的二又树,其后序遍历序列为23n 个元素进行冒泡法排序,通常需要进行_;_趟排序;24二叉树为二又排序的充分必要条件是其任一结点
6、的值均大于其左孩子的值、小于其右孩子的值;这种说法是 _的; 回答正确或不正确 25图的深度优先搜寻和广度优先搜寻序列不肯定是唯独的;不正确 此断言是 _的;回答正确或26依据搜寻方法的不同,图的遍历有 _ 、_ 两种方法;27按某关键字对记录序列排序,如关键字 关系,就排序算法是稳固的,否就是不稳固的;三、综合题 每道题 10 分,共 30 分 _的记录在排序前和排序后仍保持它们的前后281利用选择过程把序列42,82,67,102,16,32,57,52 建成堆 小根堆 ,画出该堆 不要求中间过程;2写出对上述堆对应的完全二又树进行中序遍历得到的序列;29设查找表为 16,15,20,53
7、,64,7,1用冒泡法对该表进行排序要求升序排列,要求写出每一趟的排序过程;第 3 页 共 30 页名师归纳总结 - - - - - - -第 3 页,共 30 页精选学习资料 - - - - - - - - - 2在排序后的有序表的基础上,画出对其进行折半查找所对应的判定树;要求以数据元素作为树结点;3求在等概率条件下,对上述有序表胜利查找的平均查找长度;301设有一个整数序列 50,38,16,82,110,13,64 ,依次取出序列中的数,构造一棵二叉排序树;2利用上述二叉排序树,为了查找 110,经多少次元素间的比较能胜利查到,为了查找 15,经多少次元素间的比较可知道查找失败 . 四
8、、程序填空题 每空 2 分,共 16 分 31以下函数为链队列的入队操作,X 为要人队的结点的数据域的值,front,rear 分别是链队列的队头、队尾指针32以下函数在head 为头指针的具有头结点的单向链表中删除第1 个结点,第 4 页 共 30 页名师归纳总结 - - - - - - -第 4 页,共 30 页精选学习资料 - - - - - - - - - 第 5 页 共 30 页名师归纳总结 - - - - - - -第 5 页,共 30 页精选学习资料 - - - - - - - - - 参考答案一、单项选择题 每道题 2 分,共 30 分 CADCC ACACB BDCDB 二、
9、填空题 每题 2 分,共 24 分 1611 1721 18中序 后序 19树形 20物理 储备 21线性 22gdbeihfca 23N-1 24不正确25正确 26深度优先搜寻遍历 广度优先搜寻遍历27相等三、综合应用题 每道题 10 分,共 30 分 281 2102,52, 42,82,16, 6.,32,57 第 6 页 共 30 页名师归纳总结 - - - - - - -第 6 页,共 30 页精选学习资料 - - - - - - - - - 291原序列 16 15 20 53 64 7 15 16 20 53 7 64 15 16 20 7 53 64 15 16 7 20 5
10、3 64 15 7 16 20 53 64 7 15 16 20 53 64 2 3平均查找长度 =1*1+2*2+3*3/6=14/6 301 2三次,四次四、程序填空题 每空 2 分,共 16 分 311mallocsizeofstruct node 2rear-next=p 第 7 页 共 30 页名师归纳总结 - - - - - - -第 7 页,共 30 页精选学习资料 - - - - - - - - - 3p 321jnext 3q-next 4q-next 5p 一、单项选择题(每道题 2 分,共 30 分)1数据的物理结构 ;A与数据的规律结构无关 C只包括数据元素间关系的表示
11、B仅仅包括数据元素的表示 D包括数据元素的表示和关系的表示2从 n 个数中选取最大元素 ;B算法的时间复杂度是On 2 A基本操作是数据元素间的交换C算法的时间复杂度是On D需要进行 n+1 次数据元素间的比较3线性表的次序结构中, A规律上相邻的元素在物理位置上不肯定相邻B数据元素是不能随机拜访的C规律上相邻的元素在物理位置上也相邻D进行数据元素的插入、删除效率较高4带头结点的单向链表为空的判定条件是 设头指针为head ;Ahead=NULL Bhead-next=NULL Chead-next=head Dhead.=NULL 5线性结构中数据元素的位置之间存在的关系;第 8 页 共
12、30 页名师归纳总结 - - - - - - -第 8 页,共 30 页精选学习资料 - - - - - - - - - A一对一 B一对多C多对多n,要删除第D每一个元素都有-个直接前驱和一个直接后继6设次序储备的线性表长度为i 个元素,按课本的算法,当i= ,移动元素的次数为 3;A3 ;Bn/2 Cn-3 D4 7以下说法不正确选项A栈的特点是后进先出B队列的特点是先进先出C栈的删除操作在栈底进行,插入操作在栈顶进行B 队列的插入操作在队尾进行,删除操作在队头进行8一个栈的进栈序列是a,h,c,d,就栈的不行能的出栈序列是 ;x 接Aadbc Bbead data 和指针域 next 组
13、成,设用Ccbad Ddcba 9设 top 是一个链榜的栈顶指针,栈中每个结点由一个数据域收栈顶元素,就出栈操作为 ;Ax=top-data;top=top-next; Cx=top-next;top=top-data; Btop=top-next;x=top-data; Dtop-next=top;x=top-data; 10设有一个带头结点的链队列,队列中每个结点由一个数据域 data 和指针域 next 组成, front 和rear 分别为链队列的头指针和尾指针,要执行出队操作,用 x 储存出队元素的值,p 为指向结点类型的指针,可执行如下操作 :p=front-next;x=p-d
14、ata; 然后执行 ;Afront=p-next; Bfront-next=p-next; Cfront=p; Dfront-next=p; 11以下说法正确选项 ;A队列是后进先出B栈的特点是后进后出C拢的删除和插入操作都只能在栈顶进行D队列的删除和插入操作都只能在队头进行12在 C语言中,储备字符串ABCD需要占用 字节;A4 B2 C5 D3 第 9 页 共 30 页名师归纳总结 - - - - - - -第 9 页,共 30 页精选学习资料 - - - - - - - - - 13串函数 StrCmpabA ,aba 的值为 ;A1 B0 CabAaba D-1 14设有一个 10 阶
15、的对称矩阵 A,采纳压缩储备方式将其下三角部分以行序为主序储备到一维数组 b中; 矩阵 A 的第一个元素为 al,l ,数组 b 的下标从 1 开头 ,就矩阵元素 a5,3 对应一维数组 b 的数组元素是 ;Ab18 Bb8 Cb13 DblO 15已知如图 1 所示的一个图,如从顶点 a 动身,按深度优先搜寻法进行遍历,就可能得到的一种顶点序列为 ;Aabecdf Bacfebd caebcfd Daedfcb 二、填空题 每小黯 2 分,共 24 分 16通常数据的规律结构包括集合、线性、_、_四种类型;17通常可以把某城市中各公交站点间的线路图抽象成 _结构;18设有一个单向链表,结点的
16、指针域为next ,头指针为 head,p 指向尾结点,为了使该单向链表改为单向循环链表,可用语句 _;19循环队列的队头指针为 f ,队尾指针为 r,当 _时说明队列已空;20设有一个链钱, 栈顶指针为 hs,现有一个 s 所指向的结点要入栈, 就可执行操作 _和 hs=s;21在 - 个链队中, f 和 r 分别为队头和队尾指针,队结点的指针域为next ,就插入一个s 所指结点的操作为 _;r=s ;22串的两种最基本的储备方式分别是_和_;23一棵二叉树中次序编号为 i 的结点,如它存在左、右孩子,就左、右孩子编号分别为第 10 页 共 30 页名师归纳总结 - - - - - - -
17、第 10 页,共 30 页精选学习资料 - - - - - - - - - _、 _;24两个串相等的充分必要条件是_ ;25一棵二叉树叶结点终端结点数为5,单分支结点数为2,该树共有 _个结点;26依据搜寻方法的不同,图的遍历有_ 、_ 两种方法;27一个有序表 3 ,4,10,14,34,43,46,64,75,78,90, 96,130 用折半查找法查找值为 90的结点,经 _次比较后查找胜利;三、综合题(每道题 10 分,共 30 分)281 已知某二叉树的后序遍历序列是 debca,中序遍历序列是 dbeac,试画出该二叉树;2 如上述二叉树的各个结点的字符分别代表不同的整数 其中没
18、有相等的 ,并恰好使该树成为一棵二叉排序树,试给出 a、b、c、d、e 的大小关系;3 给出该树的前序遍历序列;291 一组记录的关键字序列为45 ,40,65,43,35, 95 ,写出利用快速排序的方法,以第一个记录为基准得到的一趟划分的结果 要求给出一趟划分中每次扫描和交换的结果;2 对序列 45 ,40,65, 43,35,95 利用直接插入排序,写出逐次插入过程 从第一个元素始终到第六个元素;301 设有查找表 5 ,14,2,6,18,7,4,16,3 ,依次取表中数据,构造一棵二叉排序树;2 说明如何通过序列的二叉排序树得到相应序列的排序结果;四、程序填空题(每空 2 分,共 1
19、6 分)31以下函数在aO 到 an-1 中,用折半查找算法查找关键字等于k 的记录,查找胜利返回该记录的下标,失败时返回-1 ,完成程序中的空格;第 11 页 共 30 页名师归纳总结 - - - - - - -第 11 页,共 30 页精选学习资料 - - - - - - - - - 32以下函数为链栈的进栈操作,x 是要进栈的结点的数据域,top 为钱顶指针第 12 页 共 30 页名师归纳总结 - - - - - - -第 12 页,共 30 页精选学习资料 - - - - - - - - - 第 13 页 共 30 页名师归纳总结 - - - - - - -第 13 页,共 30 页
20、精选学习资料 - - - - - - - - - 参考答案一、单项选择题(每道题 2 芳,共 30 分)DCCBA CCAAB CCDCD 二、填空题(每题 2 分,共 24 分 16树形、图状 17图状 18p-next=head; 19r=f 20在 next=hs; 21r-next= 的 22次序储备、链式储备 232i 、 2i+1 24串长度相等且对应位置的字符相等 26深度优先搜寻遍历、广度优先搜寻遍历 274 三、结合应用题(每道题 10 分,共 30 分)281 2dbeanext=p;rear=p; B.rear-next=p;p=rear; C.p=rear-next;r
21、ear=p; D.rear=p;rear-next=p; 6.以下说法不正确选项 ;A.次序校中,钱满时再进行进校操作称为上溢 B.次序校中,找空时再作出校校操作称为 下溢 C.次序队列中,当尾指针已经超越队列储备空间的上界,就肯定是队列已满D.次序队列中,队列的头指针和尾指针均超越队列储备空间的上界,就队列已空7.设有一个 20 阶的对称矩阵A,采纳压缩储备方式,将其下三角部分以行序为主序储备到一维数组中第 16 页 共 30 页名师归纳总结 - - - - - - -第 16 页,共 30 页精选学习资料 - - - - - - - - - 矩阵 A 的第一个元素为a11,数组 b 的下标
22、从 1 开头 ,就矩阵元素a8,5 在一维数组b 中的下标是 ;A.30 B.28 C.40 D.33 8.深度为 5 的完全二叉树第 5 层上有 4 个结点,该树一共有 个结点;A.28 B.30 C.31 D.19 9.已知一个图的全部顶点的度数之和为 m,就 m 肯定不行能是 ;A.4 B.8 C.12 D.9 10.以下说法正确选项 ;A.连通图 G 的生成树中可以包含回路 C.连通图 G 的生成树肯定是唯独的B.连通图 G 的生成树可以是不连通的 D.连通图 G 的生成树肯定是连通而不包含回路的11.对 n 个元素进行冒泡排序,通常要进行n-l 趟冒泡,在第j 趟冒泡中共要进行 次元
23、素间的比较;A.j B.j-l ;C.n-j D.n-j-l 12.在排序过程中,可以有效地削减一趟排序过程中元素间的比较次数的算法是A.冒泡B.选择 ;C.直接插入D.折半插入13.如图如从顶点a 动身按深度优先搜寻法进行遍历,就可能得到的顶点序列为A.aebCfd B.abedCf C.aCebdf D.aCfbde 个结点;14.一棵哈夫曼树有n 个叶子结点 终端结点 ,该树总共有 A.2n-2 B.2n-l C.2n D.2n 十 2 第 17 页 共 30 页名师归纳总结 - - - - - - -第 17 页,共 30 页精选学习资料 - - - - - - - - - 15.数据
24、的 结构与所使用的运算机无关;A.规律 B.物理C.储备 D.规律与储备二、填空题 每道题 2 分,共 24 分 1.通常可以把一本含有不同章节的书的目录结构抽象成_结构;2.要在一个单向链表中p 所指向的结点之后插入一个S 所指向的新结点,如链表中结点的指针域为next,可执行 _和 p-next=s 的操作;3.设有一个非空的链栈,栈顶指针为 hs,要进行出栈操作,用 x 储存出栈结点的值,找结点的指针域为 next,就可执行 x=hs 一data;_ ;4.在一个不带头结点的非空链队中,f 和 r 分别为队头和队尾指针,队结点的数据域为 data,指针域为next,如要进行出队操作,并用
25、变量x 存放出队元素的数据值,就相关操作为x=f-data;_ ;5.循环队列的最大储备空间为MaxSize=8 ,采纳少用一个元素空间以有效的判定栈空或栈满,如队头指针 front=4 ,就当队尾指针 rear=_时,队列为空, 当 rear=_时,队列有 6 个元素;6.稀疏矩阵储备时,采纳一个由 确定矩阵中的一个非零元素;_、_、非零元 3 部分信息组成的三元组唯独7.一棵二叉树次序编号为 6 的结点 树中各结点的编号与等深度的完全二叉中对应位置上结点的编号相同,如它存在右孩子,就右孩子的编号为 _;8.数据结构中的数据元素存在多对多的关系称为 _结构 o 9.数据结构中的数据元素存在一
26、对多的关系称为 _结构;10.如下图所示的二叉树,其前序遍历序列为 _ 11.在队列的次序储备结构中,当插入一个新的队列元素时,_指针的值增 1,当删除一个第 18 页 共 30 页名师归纳总结 - - - - - - -第 18 页,共 30 页精选学习资料 - - - - - - - - - 元素队列时, _指针的值增 1;12.循环队列的引入,目的是为了克服_ ;三、综合题 每道题 10 分,共 30 分 1.1设 head1和 P1 分别是不带头结点的单向链表 A 的头指针和尾指针,head2和 P2 分别是不带头结点的单向链表 B 的头指针和尾指针,如要把 B 链表接到 A 链表之后
27、, 得到一个以 head1 为头指针的单向循环链表,写出其中两个关键的赋值语句 不用完整程序,结点的链域为 next 2单向链表的链域为 next,设指针 p 指向单向链表中的某个结点,指针 S 指向一个要插入链表的新结点,现要把 s 所指结点插入 p 所指结点之后,某同学采纳以下语句 : p-next=s;s-next=p-next; 这样做正确吗 .如正确就回答正确,如不正确就说明应如何改写;2.1画出对长度为10 的有序表进行折半查找的判定树以序号 1, 2, 10 表示树结点 ;2对上述序列进行折半查找,求等概率条件下,胜利查找的平均查找长度;3.1利用选择法,把序列 37 ,77,
28、62,97,11,27,52,47 建成堆 小根堆 ;画出相应的完全二叉树;2写出对上述堆所对应的二叉树进行前序遍历得到的序列;四、程序填空题 每空 2 分,共 16 分 第 19 页 共 30 页名师归纳总结 - - - - - - -第 19 页,共 30 页精选学习资料 - - - - - - - - - 格;1.以下函数为直接选择排序算法,对 a口, a幻, an中的记录进行直接选择排序,完成程序中的空名师归纳总结 - - - - - - -第 20 页,共 30 页精选学习资料 - - - - - - - - - 2.以下程序是中序遍历二叉树的递归算法的程序,完成程序中空格部分 le
29、ft 和 right ,数据域 data 为字符型, BT 指向根结点;第 21 页 共 30 页树结构中左、右指针域分别为名师归纳总结 - - - - - - -第 21 页,共 30 页精选学习资料 - - - - - - - - - 参考答案一、单项选择题 每道题 2 分,共 30 分 BADBA CDDDD CDBBA 二、填空题 每题 2 分,共 24 分 1.树形 2.s-next=p-next; 3.hs=hs 一next; 4.f=f 一next; 5.42 6.行号列号 7.13 8.图状 9.树形 10.abdefCg 11.尾头 12.假上溢三、综合应用题 每道题 10
30、分,共 30 分 第 22 页 共 30 页名师归纳总结 - - - - - - -第 22 页,共 30 页精选学习资料 - - - - - - - - - 四、程序填空题 每空 2 分,共 16 分 1.ln-l 2n 3k=j 4ai=ak 5ak=temp 2.1InorderBT-left 2printf%C ,BT-data 3InorderB1-right 第 23 页 共 30 页名师归纳总结 - - - - - - -第 23 页,共 30 页精选学习资料 - - - - - - - - - 一、单项选择题(每道题 2 分,共 30 分)1. 数据元素是数据的3 基本单位,它
31、 ;A. 只能有一个数据项组成 C. 可以是一个数据项也可以由如干个数据项组成2. 绒性表的次序结构中, ;A 规律上相邻的元素在物理位置上不肯定相邻 C. 规律上相邻的元素在物理位置上也相邻B. 至少有二个数据项组成 D. 至少有一个数据项为指针类型B.数据元素是不能随机拜访的 D.进行数据元素的插入、删除效率较高3. 以下表中可以随机拜访的是 ;B.双向链表A. 单向链表C. 单向循环链表D. 次序表4 . 设次序储备的钱性表长度为动元素的次数为 ; n ,对于删除操作,设删除位置是等概率的,就删除一个元素平均移A.n+1/2 B. n C.2n D.n-i 5. 设 top 是一个链栈的
32、栈顶指针,栈中每个结点由一个数据域 data 和指针域 next 组成,设用 x 接收楼顶元素,就出栈操作为 ;A. x=top-data;top=top-next;B. top=top-next;x=top-data;C. x=top-next;top=top-data;D. top-next=top;x=top-data;6. 以于说法正确选项 ;A. 队列是后进先出 B. 栈的特点是后进后出进行C栈的删除和插入操作都只能在栈顶进行 ;D队列的删除和捶入操作都只能在队头7. 串函数 StrCmpb ,cd 的值为 A. 1 B.0 b 中C. bcd D. -1 8. 设有一个 12 阶的
33、对称矩阵A,采纳压缩储备方式将其下三角部分以行序为主储备如一维数组矩阵 A 的第一个元素为al,l,数组 b 的下标从 1 开头 ,就矩阵 A 中第 4 行的元素在数组b 中的下标 i肯定有 ;第 24 页 共 30 页名师归纳总结 - - - - - - -第 24 页,共 30 页精选学习资料 - - - - - - - - - 9. 已知一个图的边数为 m. 就该图的全部顶点的度数之和为 ;A. 2m ;B. m C. 2m+1 D. m/2 10. 以下说法不正确选项A. 连通图 G 肯定存在生成树B. 连通圈 G 的生成树中肯定包含 G 的全部顶点C.连通图 G 的生成制中不肯定包含
34、 G 的全部边D. 连通图 G的生成树可以是不连同的11. 散列查找的原理是 ;A. 在待查记录的关键字值与该记录的储备位置之间建立确定的对应关系B按待查记录的关键字有序的次序方式储备C.按关键字值的比较进行查找D. 基于二分查找的方法12. 排序过程中,每一趟从无序子表中将一个待排序的记录按其关键字的大小放置到已经排好序的子序列的适当位置,直到全部排好序为止,该排序算法是 ;A直接插入排序 B. 快速排序 f C.冒泡排序 D. 选择排序13. 采纳次序查找法对长度为 n 的线性表进行查找不采纳表尾设监视哨的方法 ,最坏的情形下要进行 次元素间的比较;A. n+2 B. n C. n-l D. n/2 14. 如图如从顶点 a 动身按广度优先搜寻法进行遍历,就可能得到的顶点序列为 ;A. acebdfgh B. aebcghdf C. aedfbcgh 23 个结点,该树共有 D. abecdfgh 15. 一棵哈夫