数据结构与算法选择题。。

录第1章 绪论11.1 复习要点11.2 难点与重点21.3 教材习题解析21.4 补充练习题181.5 补充练习题参考答案21第2章 线性表232.1 复习要点232.2 难点与重点242.3 教材习题解析252.4 补充练习题462.5 补充练习题参考答案49第3章 栈和队列533.1 复习要点533.2 难点和重点543.3 教材习题解析563.4 补充练习题883.5 补充练习题参考答案94第4章 数组、串和广义表1024.1 复习要点1024.2 难点与重点1034.3 教材习题解析1054.4 补充练习题1174.5 补充练习题参考答案122第5章 树与森林1385.1 复习要点1385.2 难点与重点1395.3 教材习题解析1425.4 补充练习题1725.5 补充练习题参考答案181第6章 集合与字典2096.1 复习要点2096.2 难点和重点2116.3 教材习题解析2126.4 补充练习题2306.5 补充练习题参考答案235第7章 搜索结构2527.1 复习要点2527.2 难点和重点2567.3 教材习题解析2577.4 补充练习题2807.5 补充练习参考答案284第8章 图2968.1 复习要点2968.2 难点和重点2978.3 教材习题解析2998.4 补充练习题3298.5 补充练习题参考答案342第9章 排序371
...
直属事业部
扫描关注官方微博
扫描关注官方微信
版权所有(C)2014 清华大学出版社有限公司 京ICP备号 京公网安备48号数据结构各章习题及答案_百度文库
您的浏览器Javascript被禁用,需开启后体验完整功能,
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
数据结构各章习题及答案
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩60页未读,
定制HR最喜欢的简历
你可能喜欢没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!当前位置: >>
电大《数据结构(本)》复习题及答案
数据结构(本) 复习题一、单项选择题(每小题 2 分,共 30 分) 1.深度为 5 的完全二叉树共有 20 个结点,则第 5 层上有( A.3 C.5 B.8 D.6 )。 )个结点(根所在结点为第一层)。2.已知一个图的边数为 ii,则该图的所有顶点的度数之和为( A.2m C.2m+1 B.m D.m/2 )结构。3.数据结构中,与所使用的计算机无关的是数据的( A.物理 C.逻辑与物理 4.链表所具备的特点是( A.可以随机访问任一结点 C.插人删除不需要移动元素结点 5.线性表只要以( A.链接 C.关键字有序的顺序 6.散列查找的原理是( )。 )。 B.存储 D.逻辑B.占用连续的存储空间 D.可以通过下标对链表进行直接访问)方式存储就能进行折半查找。 B.顺序 D.二又树A.在待查记录的关键字值与该记录的存储位置之间建立确定的对应关系 B.按待查记录的关键字有序的顺序方式存储 C.按关键字值的比较进行查找 D.基于二分查找的方法 7. n 个元素进行冒泡排序若某趟冒泡中只进行了( 对 A.1 C.0 B.2 D.n-1 )次元素间的交换, 则表明序列已经排好序。8.排序过程中,每一趟从无序子表中将一个待排序的记录按其关键字的大小放置到已经排好序的子 序列的适当位置,直到全部排好序为止,该排序算法是( A.直接插入排序 C.冒泡排序 B.快速排序 D.选择排序 )。9.在对一组元素(64,48,106,33,25,82,70,55,93)进行直接插入排序时,当进行到要把第 7 个元素 70 插入第 1 页 共 30 页 到已经排好序的子表时,为找到插人位置,需进行( A.6 C.3 B.2 D.4)次元素 n 的比较(指由小到大排序)。10.采用顺序查找法对长度为 n 的线性表进行查找(不采用表尾设监视哨的方法),最坏的情况下要进 行( )次元素间的比较。 A.n+2 C.n-1 B.n D.n/2 )。11 如图,若从顶点 a 出发按广度优先搜索法进行遍历,则可能得到的顶点序列为(A.acebdgf C.acfedgbB.abecdgf D.abecfdg )(进栈出栈可以交替进行)。12.元素 2,4,6,8 按顺序依次进栈,则该栈的不可能输出序列是( A.8,6,4,2 C.4,2,8,6 B.2,4,6,8 D.8,6,2,413.排序方法中,从未排序序列中挑选元素,并将其依次放人已排序序列(初始为空)的一端的方法, 称为( )排序。 B.插人 D.快速 )个叶结点(终端结点)。A.归并 C.选择I4.一棵哈夫曼树总共有 23 个结点,该树共有( A.10 C.11 15.队列的插人操作在( A.队头 C.队头或队尾 二、填空题(每小题 2 分。共 24 分) B.13 D.12 )进行。 B.队尾D.在任意指定位置16.一棵二又树没有单分支结点,有 6 个叶结点,则该树总共有___________个结点。第 2 页 共 30 页 17. 设一棵完全二叉树, 其最高层上最右边的叶结点的编号为奇数, 该叶节点的双亲结点的编号为 10, 该完全二又树一共有___________个结点。 18.按照二又树的递归定义,对二叉树遍历的常用算法有先序、___________、___________三种。 19.结构中的数据元素存在一对多的关系称为___________结构。 20.把数据存储到计算机中,并具体体现数据之间的逻辑结构称为___________结构。 21.结构中的数据元素存在一对一的关系称为___________结构。 22.如图 2 所示的二又树,其后序遍历序列为______________________。23.n 个元素进行冒泡法排序,通常需要进行____________趟排序。 24.二叉树为二又排序的充分必要条件是其任一结点的值均大于其左孩子的值、小于其右孩子的值。 这种说法是____________的。(回答正确或不正确) 25.图的深度优先搜索和广度优先搜索序列不一定是唯一的。此断言是____________的。(回答正确或 不正确) 26. 根据搜索方法的不同, 图的遍历有______________________、 ______________________两种方法。 27.按某关键字对记录序列排序,若关键字___________的记录在排序前和排序后仍保持它们的前后 关系,则排序算法是稳定的,否则是不稳定的。三、综合题(每小题 10 分,共 30 分) 28.(1)利用筛选过程把序列{42,82,67,102,16,32,57,52}建成堆(小根堆),画出该堆(不要求中间过程)。 (2)写出对上述堆对应的完全二又树进行中序遍历得到的序列。29.设查找表为(16,15,20,53,64,7), (1)用冒泡法对该表进行排序(要求升序排列),要求写出每一趟的排序过程。第 3 页 共 30 页 (2)在排序后的有序表的基础上,画出对其进行折半查找所对应的判定树。(要求以数据元素作为树结 点)。 (3)求在等概率条件下,对上述有序表成功查找的平均查找长度。30.(1)设有一个整数序列(50,38,16,82,110,13,64},依次取出序列中的数,构造一棵二叉排序树。 (2).利用上述二叉排序树,为了查找 110,经多少次元素间的比较能成功查到,为了查找 15,经多少 次元素间的比较可知道查找失败?四、程序填空题(每空 2 分,共 16 分) 31.以下函数为链队列的入队操作, 为要人队的结点的数据域的值,front,rear 分别是链队列的队头、 X 队尾指针32.以下函数在 head 为头指针的具有头结点的单向链表中删除第 1 个结点,第 4 页 共 30 页 第 5 页 共 30 页 参考答案一、单项选择题(每小题 2 分,共 30 分} CADCC ACACB BDCDB二、填空题(每题 2 分,共 24 分) 16.11 17.21 18.中序 19.树形 20.物理(存储) 21.线性 22.gdbeihfca 23.N-1 24.不正确 25.正确 26.深度优先搜索遍历 27.相等 广度优先搜索遍历 后序三、综合应用题(每小题 10 分,共 30 分) 28.(1)(2).102,52,42,82,16,6?,32,57第 6 页 共 30 页 29. .(1)原序列 16 15 20 53 64 7 15 16 20 53 7 15 16 20 7 15 16 7 15 7 7 (2) 6453 6420 53 6416 20 53 6415 16 20 53 64(3)平均查找长度=(1*1+2*2+3*3)/6=14/6 30.(1)(2)三次,四次四、程序填空题(每空 2 分,共 16 分) 31.(1)malloc(sizeof(struct node)) (2)rear-&next=p (3)p 32.(1)j&i-1 (2)q=q-&next第 7 页 共 30 页 (3)q-&next (4)q-&next (5)p一、单项选择题(每小题 2 分,共 30 分) 1.数据的物理结构( )。 B.仅仅包括数据元素的表示 D.包括数据元素的表示和关系的表示 )。 B.算法的时间复杂度是 O(n ) D.需要进行(n+1)次数据元素间的比较 )。2A.与数据的逻辑结构无关 C.只包括数据元素间关系的表示 2.从 n 个数中选取最大元素( A.基本操作是数据元素间的交换 C.算法的时间复杂度是 O(n) 3.线性表的顺序结构中,(A.逻辑上相邻的元素在物理位置上不一定相邻 B.数据元素是不能随机访问的 C.逻辑上相邻的元素在物理位置上也相邻 D.进行数据元素的插入、删除效率较高 4.带头结点的单向链表为空的判断条件是( A.head==NULL C.head-&next==head 5.线性结构中数据元素的位置之间存在( A.一对一 C.多对多 )(设头指针为 head)。 B.head-&next==NULL D.head!=NULL )的关系。 B.一对多 D.每一个元素都有-个直接前驱和一个直接后继 ),移动元素的次6.设顺序存储的线性表长度为 n,要删除第 i 个元素,按课本的算法,当 i=(第 8 页 共 30 页 数为 3。 A.3 C.n-3 7.以下说法不正确的是( A.栈的特点是后进先出 B.队列的特点是先进先出 C 栈的删除操作在栈底进行,插入操作在栈顶进行 B 队列的插入操作在队尾进行,删除操作在队头进行 8.一个栈的进栈序列是 a,h,c,d,则栈的不可能的出栈序列是( A.adbc C.cbad B.bead D.dcba )。 )。 B.n/2 D.49.设 top 是一个链榜的栈顶指针,栈中每个结点由一个数据域 data 和指针域 next 组成,设用 x 接 收栈顶元素,则出栈操作为( )。 B.top=top-&x=top-& D.top-&next=x=top-&A.x=top-&top=top-& C.x=top-&top=top-&10.设有一个带头结点的链队列,队列中每个结点由一个数据域 data 和指针域 next 组成,front 和 rear 分别为链队列的头指针和尾指针,要执行出队操作,用 x 保存出队元素的值,p 为指向结点类型的指 针,可执行如下操作:p=front-&x=p-&然后执行( A.front=p-& C.front=p; 11.以下说法正确的是( A.队列是后进先出 B.栈的特点是后进后出 C.拢的删除和插入操作都只能在栈顶进行 D.队列的删除和插入操作都只能在队头进行 12.在 C 语言中,存储字符串&ABCD&需要占用( A.4 C.5 13.串函数 StrCmp(&abA&,&aba&)的值为( A.1 C.&abAaba& )字节。 B.2 D.3 )。 B.0 D.-1第 9 页 共 30 页)。B.front-&next=p-& D.front-&next=p; )。 14.设有一个 10 阶的对称矩阵 A,采用压缩存储方式将其下三角部分以行序为主序存储到一维数组 b 中。(矩阵 A 的第一个元素为 al,l,数组 b 的下标从 1 开始),则矩阵元素 a5,3 对应一维数组 b 的数组元素是 ( )。 A.b[18] C.b[13] B.b[8] D.b[lO]15.已知如图 1 所示的一个图,若从顶点 a 出发,按深度优先搜索法进行遍历,则可能得到的一种顶 点序列为( )。A.abecdf c.aebcfdB.acfebd D.aedfcb二、填空题{每小黯 2 分,共 24 分} 16.通常数据的逻辑结构包括集合、线性、________________、________________四种类型。 17.通常可以把某城市中各公交站点间的线路图抽象成_________________结构。 18.设有一个单向链表,结点的指针域为 next,头指针为 head,p 指向尾结点,为了使该单向链表改 为单向循环链表,可用语句_________________。 19.循环队列的队头指针为 f,队尾指针为 r,当_________________时表明队列已空。 20. 设有一个链钱, 栈顶指针为 hs, 现有一个 s 所指向的结点要入栈, 则可执行操作_________________ 和 hs=s。 21.在-个链队中,f 和 r 分别为队头和队尾指针,队结点的指针域为 next,则插入一个 s 所指结点 的操作为_________________;r=s。 22.串的两种最基本的存储方式分别是_________________和_________________。 23.一棵二叉树中顺序编号为 i 的结点,若它存在左、右孩子,则左、右孩子编号分别为 _________________、_________________。 24.两个串相等的充分必要条件是___________________________________________________。 25.一棵二叉树叶结点〈终端结点〉数为 5,单分支结点数为 2,该树共有____________个结点。第 10 页 共 30 页 26.根据搜索方法的不同,图的遍历有__________________________________、 __________________________________两种方法。 27.一个有序表{3,4,10,14,34,43,46,64,75,78,90,96,130}用折半查找法查找值为 90 的结点,经_________________次比较后查找成功。三、综合题(每小题 10 分,共 30 分) 28.(1)已知某二叉树的后序遍历序列是 debca,中序遍历序列是 dbeac,试画出该二叉树。 (2)若上述二叉树的各个结点的字符分别代表不同的整数(其中没有相等的),并恰好使该树成为一棵 二叉排序树,试给出 a、b、c、d、e 的大小关系。 (3)给出该树的前序遍历序列。29.(1)一组记录的关键字序列为{45,40,65,43,35,95},写出利用快速排序的方法,以第一个 记录为基准得到的一趟划分的结果(要求给出一趟划分中每次扫描和交换的结果〉 。 (2)对序列{45,40,65,43,35,95}利用直接插入排序,写出逐次插入过程(从第一个元素一直到第 六个元素〉 。30.(1)设有查找表{5,14,2,6,18,7,4,16,3},依次取表中数据,构造一棵二叉排序树。 (2)说明如何通过序列的二叉排序树得到相应序列的排序结果。四、程序填空题(每空 2 分,共 16 分) 31.以下函数在 a[O]到 a[n-1]中,用折半查找算法查找关键字等于 k 的记录,查找成功返回该记录 的下标,失败时返回-1,完成程序中的空格。第 11 页 共 30 页 32.以下函数为链栈的进栈操作,x 是要进栈的结点的数据域,top 为钱顶指针第 12 页 共 30 页 第 13 页 共 30 页 参考答案一、单项选择题(每小题 2 芳,共 30 分) DCCBA CCAAB CCDCD二、填空题(每题 2 分,共 24 分} 16.树形、图状 17.图状 18.p-&next= 19.r=f 20.在&next= 21.r-&next=的 22.顺序存储、链式存储 23.2i、2i+1 24.串长度相等且对应位置的字符相等 26.深度优先搜索遍历、广度优先搜索遍历 27.4三、结合应用题(每小题 10 分,共 30 分) 28.(1)(2)d&b&e&a&c (3)abdec第 14 页 共 30 页 四、程序填空题(每空 2 分,共 16 分)第 15 页 共 30 页 一、单项选择题(每小题 2 分,共 30 分) 1.( )是性质相同的数据元素的集合,是数据的子集。 B.数据对象 D.数据项A.数据元素 C.数据结构2.设链表中的结点是 NODE 类型的结构体变量, 且有 NODE 头 P;为了申请一个新结点, 并由 p 指向该 结点,可用以下语句( )。 B.p=(*ODE)malloC(sizeof(NODE)); D.p=(NODE*)malloC(sizeof(p)); )时,A.p=(NODE*)malloC{sizeof(NODE); C.p=(NODE)malloC(sizeof(p))3.设顺序存储的线性表长度为 n,要在第 i 个元素之前插入一个新元素,按课本的算法当 i=( 移动元素次数为 2。 A.n/2 C.1 B.n D.n-l4.一个栈的进栈序列是 1,2,3,4,则栈的不可能的出栈序列是( A.3,2,4,1 C.4,3,2,1 B.1,4,2,3 D.3,2,1,4)(进出栈操作可以交替进行)。5.设有一个带头结点的链队列,队列中每个结点由一个数据域 data 和指针域 next 组成,front 和 rear 分别为链队列的头指针和尾指针。设 p 指向要入队的新结点(该结点已被赋值),则入队操作为( A.rear-&next=p;rear=p; C.p=rear-&rear=p; 6.以下说法不正确的是( )。 B.rear-&next=p;p= D.rear=p;rear-&next=p; )。A.顺序校中,钱满时再进行进校操作称为&上溢& B.顺序校中,找空时再作出校校操作称为&下溢& C.顺序队列中,当尾指针已经超越队列存储空间的上界,则一定是队列已满 D.顺序队列中,队列的头指针和尾指针均超越队列存储空间的上界,则队列已空 7.设有一个 20 阶的对称矩阵 A,采用压缩存储方式,将其下三角部分以行序为主序存储到一维数组中 (矩阵 A 的第一个元素为 a11,数组 b 的下标从 1 开始),则矩阵元素 a8,5 在一维数组 b 中的下标是( A.30 C.40 B.28 D.33 )个结点。 )。8.深度为 5 的完全二叉树第 5 层上有 4 个结点,该树一共有( A.28 B.30第 16 页 共 30 页 C.31D.19 )。9.已知一个图的所有顶点的度数之和为 m,则 m 一定不可能是( A.4 C.12 10.以下说法正确的是( )。 D.9 B.8A.连通图 G 的生成树中可以包含回路 C.连通图 G 的生成树一定是唯一的B.连通图 G 的生成树可以是不连通的 D.连通图 G 的生成树一定是连通而不包含回路的 )次元素间的比11.对 n 个元素进行冒泡排序,通常要进行 n-l 趟冒泡,在第 j 趟冒泡中共要进行( 较。 A.j C.n-j B.j-l D.n-j-l12.在排序过程中,可以有效地减少一趟排序过程中元素间的比较次数的算法是( A.冒泡 C.直接插入 B.选择 D.折半插入)。13.如图若从顶点 a 出发按深度优先搜索法进行遍历,则可能得到的顶点序列为()。A.aebCfd C.aCebdfB.abedCf D.aCfbde )个结点。14.一棵哈夫曼树有 n 个叶子结点(终端结点),该树总共有( A.2n-2 C.2n 15.数据的( A.逻辑 C.存储 B.2n-l D.2n 十 2 )结构与所使用的计算机无关。 B.物理 D.逻辑与存储二、填空题(每小题 2 分,共 24 分)第 17 页 共 30 页 1.通常可以把一本含有不同章节的书的目录结构抽象成____________结构。 2.要在一个单向链表中 p 所指向的结点之后插入一个 S 所指向的新结点,若链表中结点的指针域为 next,可执行____________和 p-&next==s 的操作。 3.设有一个非空的链栈,栈顶指针为 hs,要进行出栈操作,用 x 保存出栈结点的值,找结点的指针域 为 next,则可执行 x=hs 一&________________________。 4.在一个不带头结点的非空链队中,f 和 r 分别为队头和队尾指针,队结点的数据域为 data,指针域为 next,若要进行出队操作,并用变量 x 存放出队元素的数据值,则相关操作为 x=f-&________________________。 5.循环队列的最大存储空间为 MaxSize=8,采用少用一个元素空间以有效的判断栈空或栈满,若队头 指针 front=4,则当队尾指针 rear=____________时,队列为空,当 rear=____________时,队列有 6 个元素。 6.稀疏矩阵存储时,采用一个由____________、____________、非零元 3 部分信息组成的三元组唯一 确定矩阵中的一个非零元素。 7.一棵二叉树顺序编号为 6 的结点(树中各结点的编号与等深度的完全二叉中对应位置上结点的编号相 同),若它存在右孩子,则右孩子的编号为____________。 8.数据结构中的数据元素存在多对多的关系称为____________结构 o 9.数据结构中的数据元素存在一对多的关系称为____________结构。 10.如下图所示的二叉树,其前序遍历序列为____________11.在队列的顺序存储结构中,当插入一个新的队列元素时,____________指针的值增 1,当删除一个 元素队列时,____________指针的值增 1。 12.循环队列的引入,目的是为了克服____________________________________。三、综合题(每小题 10 分,共 30 分) 1.(1)设 head1 和 P1 分别是不带头结点的单向链表 A 的头指针和尾指针,head2 和 P2 分别是不带头结点第 18 页 共 30 页 的单向链表 B 的头指针和尾指针,若要把 B 链表接到 A 链表之后,得到一个以 head1 为头指针的单向循环 链表,写出其中两个关键的赋值语句(不用完整程序,结点的链域为 next) (2)单向链表的链域为 next,设指针 p 指向单向链表中的某个结点,指针 S 指向一个要插入链表的新结 点,现要把 s 所指结点插入 p 所指结点之后,某学生采用以下语句: p-&next==s;s-&next==p-& 这样做正确吗?若正确则回答正确,若不正确则说明应如何改写。2.(1)画出对长度为 10 的有序表进行折半查找的判定树(以序号 1,2,……10 表示树结点)。 (2)对上述序列进行折半查找,求等概率条件下,成功查找的平均查找长度。3.(1)利用筛选法,把序列{37,77,62,97,11,27,52,47}建成堆(小根堆)。画出相应的完全二叉 树。 (2)写出对上述堆所对应的二叉树进行前序遍历得到的序列。四、程序填空题(每空 2 分,共 16 分) 1.以下函数为直接选择排序算法,对 a[口,a[幻,…a[n]中的记录进行直接选择排序,完成程序中的空 格。第 19 页 共 30 页 第 20 页 共 30 页 2.以下程序是中序遍历二叉树的递归算法的程序,完成程序中空格部分(树结构中左、右指针域分别为 left 和 right,数据域 data 为字符型,BT 指向根结点。第 21 页 共 30 页 参考答案一、单项选择题(每小题 2 分,共 30 分) BADBA CDDDD CDBBA二、填空题(每题 2 分,共 24 分) 1.树形 2.s-&next===p-& 3.hs===hs 一& 4.f===f 一& 5.42 6.行号列号 7.13 8.图状 9.树形 10.abdefCg 11.尾头 12.假上溢三、综合应用题(每小题 10 分,共 30 分)第 22 页 共 30 页 四、程序填空题(每空 2 分,共 16 分) 1.(l)n-l (2)n (3)k==j (4)a[i]==a[k] (5)a[k]==temp 2.(1)Inorder(BT-&left) (2)printf(&%C&,BT-&data) (3)Inorder(B1-&-&right)第 23 页 共 30 页 一、单项选择题(每小题 2 分,共 30 分) 1.数据元素是数据的 3 基本单位,它( A. 只能有一个数据项组成 C. 可以是一个数据项也可以由若干个数据项组成 2. 绒性表的顺序结构中,( )。 B.数据元素是不能随机访问的 D.进行数据元素的插入、删除效率较高 )。 B. 至少有二个数据项组成 D. 至少有一个数据项为指针类型A 逻辑上相邻的元素在物理位置上不一定相邻 C. 逻辑上相邻的元素在物理位置上也相邻 3. 以下表中可以随机访问的是( A.单向链表 C. 单向循环链表 )。B.双向链表 D. 顺序表4 .设顺序存储的钱性表长度为 n,对于删除操作,设删除位置是等概率的,则删除一个元素平均移 动元素的次数为( A.(n+1)/2 C.2n )。 B. n D.n-i5. 设 top 是一个链栈的栈顶指针,栈中每个结点由一个数据域 data 和指针域 next 组成,设用 x 接收楼顶元素,则出栈操作为( )。 B. top=top-&next;x=top-&data; D. top-&next=top;x=top-&data;A. x=top-&data;top=top-&next; C. x=top-&next;top=top-&data; 6. 以于说法正确的是( A. 队列是后进先出 C.栈的删除和插入操作都只能在栈顶进行 进行 7. 串函数 StrCmp(&b& ,&cd&)的值为( A. 1 C. &bcd& )。 )。B. 栈的特点是后进后出 D.队列的删除和捶入操作都只能在队头B.0 D. -18. 设有一个 12 阶的对称矩阵 A, 采用压缩存储方式将其下三角部分以行序为主存储如一维数组 b 中 〈矩阵 A 的第一个元素为 al,l ,数组 b 的下标从 1 开始),则矩阵 A 中第 4 行的元素在数组 b 中的下标 i 一定有( )。第 24 页 共 30 页 9. 已知一个图的边数为 m. 则该图的所有顶点的度数之和为( A. 2m C. 2m+1 10. 以下说法不正确的是( A.连通图 G 一定存在生成树 B.连通圈 G 的生成树中一定包含 G 的所有顶点 C.连通图 G 的生成制中不一定包含 G 的所有边 D. 连通图 G 的生成树可以是不连同的 11.散列查找的原理是( )。 )。 B. m D. m/2)。A. 在待查记录的关键字值与该记录的存储位置之间建立确定的对应关系 B.按待查记录的关键字有序的顺序方式存储 C.按关键字值的比较进行查找 D. 基于二分查找的方法 12. 排序过程中,每一趟从无序子表中将一个待排序的记录按其关键字的大小放置到已经排好序的子 序列的适当位置,直到全部排好序为止,该排序算法是( A.直接插入排序 C.冒泡排序 )。 B. 快速排序 f D. 选择排序13. 采用顺序查找法对长度为 n 的线性表进行查找〈不采用表尾设监视哨的方法) ,最坏的情况下 要进行( A. n+2 C. n-l )次元素间的比较。 B. n D. n/2 )。14. 如图若从顶点 a 出发按广度优先搜索法进行遍历,则可能得到的顶点序列为(A. acebdfgh C. aedfbcgh 15. 一棵哈夫曼树总共有 23 个结点,该树共有(B. aebcghdf D. abecdfgh )个叶结点(终端结点〉 。第 25 页 共 30 页 A. 10 C.11 1363iB. 13 D. 12二、填空题{每小黯 2 分,共 24 分} 1.通常数据的逻辑结构包括____________ 、 ___________ 、 ___________ 、 ____________ 四种类型。 2. 设有一个单向链表,结点的指针域为 next ,头指针为 head , p 指向尾结点,为了使该单向链 表改为单向循环链表,可用语句_______________________________________。 3. 设有一个单向循环链表,头指针为 head ,链表中结点的指针域为 next,p 指向尾结点的直接前 驱结点,若要删除尾结点,得到一个新的单向循环链表,可执行操作____________________________。 4. 在一个链队中, f 和 r 分别为队头和队尾指针,队结点的指针域为 next,则插入一个 s 所指结 点的操作为______________;r=s。 5. 循环队列的队头指针为 f,队尾指针为 r,当______________时表明队列为空。 6. 串函数 StrCat(a ,b)的功能是进行串______________。 7. 一棵二叉树没有单分支结点,有 6 个叶结点,则该树总共有______________个结点。 8. 按照二又树的递归定义,对二叉树遍历的常用算法有______________、______________、 ______________三种。 9. 把数据存储到计算机中,并具体体现数据之间的逻辑结构称为______________结构。 10. 如图 2 所示的哦叉树,其后序遍历序列为______________。11.二叉树为哦叉排序的充分必要条件是其任一结点的值均大于其左孩子的值、小于其右孩子的值。 这种说法是______________的。 〈回答正确或不正确〉 12. 根据搜索方法的不前,图的遍历有______________、______________两种方法。第 26 页 共 30 页 三、综合题(每小题 10 分,共 30 分) 1. (1)巳知某二叉树的后序遍历序列是 debca,中序遍历序列是 dbeac ,试画出该二叉树。 (2) 若上述二叉树的各个结点的字符分别代表不同的整数(其中没有相等的) ,并恰好使该树成为一 棵二叉排序树,试绘出 a、b、c、d、e 的大小关系。 (3) 给出该树的前序遍历序列。 2. (1)设有一个整数序列 d{40 ,28,6,72,100,3,54}依次取出序列中的数,构造一棵二叉排序 树。 (2) 对上述二叉排序树,在等概率条件下,求成功查找的平均查找长度。 3. (1)利用筛选过程把序列{42 ,82,67,102,16,32,57,52} 建成堆(小根堆) ,画出相应的完 全二叉树(不要求中间过程) 。 (2) 写出对上述堆对应的完全二叉树进行中序遍历得到的序列。四、程序填空题(每空 2 分,共 16 分) 1.以下函数在 a[O]到 a[n-1]中,用折半查找算法查找关键字等于 k 的记录,查找成功返回该记录的 下标,失败时返回-1,完成程序中的空格。第 27 页 共 30 页 2. 以下函数为链队列的入队操作,x 为要入队的结点的数据域的值,front、rear 分别是链队列的对 头、队尾指针。第 28 页 共 30 页 参考答案一、单项选择题(每小题 2 芳,共 30 分) CCDAA CDAAD AABDD二、填空题(每题 2 分,共 24 分} 1.集合 线形 树形 图状 2.p-&next= 3.p-&next= 4. r-&next=s 5. r= =f 6. 连接 7.11 8. 先序 中序 后序 9. 物理(存偌) 10. gdbeihfca 11.错误 12.深度优先 广度优先三、结合应用题(每小题 10 分,共 30 分) 1. (1)(2)d&b&e&a&c (3)abdec 2. (1)第 29 页 共 30 页 (2)ASL= (1×1+ 2×2 +3×3+4)/7=18/7 3.(2)102 , 52 ,42 ,82 , 16 ,67 ,32 , 57四、程序填空题(每空 2 分,共 16 分)第 30 页 共 30 页
更多搜索:
All rights reserved Powered by
文档资料库内容来自网络,如有侵犯请联系客服。}

我要回帖

更多关于 数据结构 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信