1、 ( 错)8、 在数据的存放无规律而言的线性表中进行查找的最佳方法是顺序查找(线性查找)。9、 多重表文件和倒排文件都归属于多关键字文件。10、 不定长文件是指文件的长度不固定。.填空题(每题1分,共10分)1、若将数据结构形式定义为二元组 (D,R),其中D是数据元素的有限集合,则 R是D上_关系的有限集合 。2、在一个带头结点的单循环链表中, p指向尾结点的直接前驱,则指向头结点的o指针head可用p表示为3、 若不带头结点的单链表的头指针为head,则该链表为空的判定条件是 。4、 对于顺序存储的栈,因为栈的空间是有限的,在进行的上溢,在进行 运算时,可能发生栈的下溢。5、 树的存储结构
2、常见的有 双亲表示法 , 孩子链表法子-兄弟表示法运算时,可能发生栈双亲表示法6 深度为k的完全二叉树至少有 个结点,至多有 个结点。7、一棵有n个结点的满二叉树有 0 个度为1的结点、有支(非终端)结点和 (n+1)/2 个叶子,该满二叉树的深度为1 。(n-1 ) 12 个分og2n +8、 大多数排序算法都有两个基本的操作9、 线性有序表(a1, a2, a3,a256)是从小到大排列的,对一个给定的值 k,用二分法查找表中与 k相等的元素,在查找不成功的情况下, 最多需要查找 8次。设有100个结点,用二分法查找时,最大比较次数是 7 。)中的关键字按字母序的 ;初始步长为 快速排序一
3、趟扫描的10、设要将序列(Q, H, C, Y, P, A, M, S, R, D, F, X 升序重新排列,则:冒泡排序一趟扫描的结果是的希尔(shell )排序一趟的结果是5士甲曰结果是三.选择题(每题1分,共10 分)1、 算法指的是()A.计算机程序 B.解决问题的计算方法C.排序算法 D.解决问题的有限运算序列2、 线性表采用链式存储时,结点的存储地址 ()A.必须是不连续的 B.连续与否均可C.必须是连续的 D.和头结点的存储地址相连续3、 将长度为n的单链表链接在长度为 m的单链表之后的算法的时间复杂度为 ()A. 0(1) B. 0(n) C. O(m) D. O(m+n)4、
4、 已知指针p所指结点不是尾结点,若在*p之后插入结点*s,则应执行操作()A.s-li nk = p ; p-li nk = s ;B.s-li nk = p-li nk ;C.s-link = p-link ; p = s ;D.p- s-5、 若进栈序列为1 , 2, 3, 4, 5, 6,且进栈和出栈可以穿插进行,则不可能出现 的出栈序列是(D )A. 2 , 4, 3, 1, 5, 6 B. 3 , 2, 4, 1, 6, 5C. 4 , 3, 2, 1, 5, 6 D. 2 , 3, 5, 1, 6, 46、 判断线索二叉树中p节点有右孩子的条件是 (C )A. p != NULL
5、B. p-rchild != NULLC. p-rtag = 0 D. p-rtag = = 17、 若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个 数是(B )A . 9 B. 11 C. 15 D.不确定8、 在表长为n的链表中进行线性查找,它的平均查找长度为 ()A. ASL = n B. ASL = (n +1)/2C. ASL = n +1 D. ASL = log 2(n+1)-19、 对22个记 录的有序表作折半查找,当查找失败时,至少需要 比较(5)次关键字。A. 3 B . 4 C . 5 D . 610、 在二叉排序树中,每个结点的关键字 A_ ,
6、B_一棵二叉排序,即可得到排序序 列。同一个结点集合,可用不同的二叉排序树表示,人们把平均检索长度最短 的二叉排序树称作最佳二叉排序,最佳二叉排序树在结构上的特点是 _C_。 供选择的答案:A: 比左子树所有结点的关键字大,比右子树所有结点的关键字小2比左子树所有结点的关键字小,比右子树所有结点的关键字大3比左右子树的所有结点的关键字都大4与左子树和右子树各自所有结点的关键字无必然关系B:前序遍历 中序(对称)遍历后序遍历 层次遍历C:除最下二层可以不满外,其余都是充满的2除最下一层可以不满外,其余都是充满的3每个结点的左右子树的高度之差的绝对值不大于 14最下层的叶子必须在最左边答案:A=
7、B= C=4.简答题(每题7分,共14分)1、假设以数组seqn mO存放循环队列的元素,设变量 rear和quelen分别指示循环队列中队尾元素的位置和元素的个数。(1) 写出队满的条件表达式;(2) 写出队空的条件表达式;(3) 设m=40, rear=13, quelen=19, 求队头元素的位置;(4) 写出一般情况下队头元素位置的表达式。2、什么叫线索,线索二叉树,线索化?将二叉树各节点中的空的左孩子指针域改为指向其前驱,空的右孩子指针域改为指向其 后继,称这种新的指针为线索,所得到的二叉树称为线索二叉,将二叉树转变成线 索二叉树的过程称为线索化。5.算法题(每题10分,共20 分)
8、1、阅读下面的算法:Lin kList myn ote(Li nkList * L) /L是不带头结点的单链表的头指针if(L&L- next)1q=L; L=L next ; p=L;SH while(p next) p=p : p next=q ; q next=NULL;(1)说明语句S1的功能;(2)说明语句组S2的功能;(3)设链表表示的线性表为(a1,a2,an),写出算法执行后的返回值所表示的线性表。2、利用两个栈sl,s2模拟一个队列时,如何用栈的运算实现队列的插入,删除以 及判队空运算。请简述这些运算的算法思想。6.应用题(每题6分,共36 分)1、分析下面程序段的时间复杂性
9、: y=0; while(n=(y+1)*(y+1) y+;2、已知二叉树如下图所示:(1)写出上图二叉树的中序遍历和后序遍历的结果;(2)画出此二叉树还原成森林的图。3、试画出对下图执行深度优先遍历产生的生成树(从 1开始),并写出遍历序列。(2)若查找元素54,需依次与哪些元素比较?(3)若查找元素90,需依次与哪些元素比较?(4)假定每个元素的查找概率相等,求查找成功时的平均查找长度。5、设有一个输入数据的序列是 46, 25, 78, 62, 12, 37, 70, 29 , 试画出从空树起,逐个输入各个数据而生成的二叉排序树。 设待排序的排序码序列为 12, 2, 16, 30, 2
10、8, 10, 16*, 20, 6, 18, 试分别写出使用以下排序方法每趟排序后的结果。并说明做了多少次排序码比较。(1)直接插入排序(2)希尔排序(增量为5,2,1)(3)冒泡排序(4)快速排序参考答案及评分标准1.判断题(每题1分,共10分)1V; 2、X; 3 4、X; 56 7、X; 8 9 10、X;2.填空题(每题1分,共10分)1、关系的有限集合; 2、head = p next next ;3、head = = NULL ; 4、进栈、出栈;5、 双亲表示法 ,孩子链表表示法 ,孩子-兄弟表示法;6、 2k-1、 2k-1 ; 7、0、(n-1)/2、(n +1)/2、|lj
11、og2n + 1 ;8、比较、移动; 9、& 7;10、H C Q P A M S R D F X Y、 P A C S Q H F X R D M Y、 F H C D P A M Q R S Y X ;.选择题(每题1分,共10 分)1、D ; 2、B ; 3、C; 4、B ; 5、D ;6、C; 7、B; 8、B; 9、C; 10、;1、 (1) quelen = = m ;(2)quelen = = 0 ;(3)34(4)(rear-quelen + m) % m ;2、 将二叉树各节点中的空的左孩子指针域改为指向其前驱,空的右孩子指针域改为指 向其后继,称这种新的指针为线索,所得到的
12、二叉树称为线索二叉,将二叉树转变 成线索二叉树的过程称为线索化。5.算法题(每题10分,共20分)1、 (1)找到next域为NULL的节点,即链表的尾节点;(2)令尾节点的next域指向原表头,即链表中的第一个节点;再令第一个节点的next域为NULL ;从而将原来链表中的第一个节点变为尾节点。(3)算法执行后的线性表为(a2,an , a1 )。2、 (1)用栈s1和s2模拟一个队列的输入:设 s1和s2容量相等。分以下三种情况讨压栈入s2,之后元素入si栈;若si满,s2不空(已有出队列元素),则不能 入队。(2)用栈si和s2模拟队列出队(删除):若栈s2不空,退栈,即是队列的出队;
13、若s2为空且si不空,则将si栈中全部元素退栈,并依次压入 s2中,s2栈顶元素退栈,这就是相当于队列的出队。若栈 si为空并且s2也为空,队列空,不能出队。(3)判队空 若栈si为空并且s2也为空,才是队列空。6.应用题(每题6分,共36分)1、 该程序段中主要计算量在于循环过程。 当y的平方小于等于n时,y在每次循环过程中加i,直到y的平方大于n为止。所以该循环总共执行 y次,且在循环退出时有 y*y = n成立,注意到y是从0开始自加的,因此总的执行次数为 y = sqrt(n), 从而复杂度为O(sqrt( n)。2、 ( i)中序:bjfdgachei (i分,次序错一处都不得分 )
14、后序:jfgdbhieca (i分,次序错一处都不得分 )(2)评分标准:每画对一个树,得 i分。(2) 查找元素 54,需依次与 30, 63, 42, 54等元素比较;(3) 查找元素 90,需依次与 30, 63,87, 95, 72等元素比较;(4) 求ASL之前,需要统计每个元素的查找次数。判定树的前 3层共查找1+ 2X 2+ 4 X 3=17次;但最后一层未满,不能用8 X 4,只能用5 X 4=20次,所以ASL =1/12 (17 + 20)= 37/12 3.08。5、加兀加引加悠空树加恥加256、初始排 0 1列i = 1i = 2i = 3i = 4i = 5i = 6
15、i = 7i = 8i = 912 22 1222 316 304 528 106 716* 208 96 181216302820 618、*、30 66i28 30X20 28排序码比较次 数25381+1+3+1+3+1+ 1+2 = 1401234 56789 排序码比较次数(1+1+2+1)(1+1+ 1 + 1) = 910 2 16 6 16 12 18 20 30 28d = 1 I I I(3)起泡排序初始排479排序码比较次i = 01* *4 * # * * * 4 *4 * * *_*-MH-f30-一 28一16-4PivPvtpos0 1ot0,1,2,318 2
16、poszf pospos f pos0,1628pos 2 posio 4,5,6,7,1028 161 pos f posf pospos4,5,618 16I30i pos16 1620* pos 16* 16Whe n you are old and grey and full of sleep,And no ddi ng by the fire, take dow n this book,And slowly read, and dream of the soft lookYour eyes had once, and of their shadows deep;How many lo
17、ved your mome nts of glad grace,And loved your beauty with love false or true,But one man loved the pilgrim soul in you,And loved the sorrows of your cha nging face;And bending dow n beside the glow ing bars,Murmur, a little sadly, how love fledAnd paced upon the mountains overheadAnd hid his face a
18、mid a crowd of stars.The furthest dista nee in the worldIs not betwee n life and deathBut whe n I sta nd in front of youYet you dont know thatI love you.Is not whe n I sta nd in front of youYet you cant see my loveBut whe n un doubtedly knowing the love from bothYet cannot be together.Is not being apart while being in loveBut whe n I pla inly cannot resist the year ningYet prete nding you have n ever bee n in my heart.Is not struggli ng aga inst the tidesBut using on es in differe nt heartTo dig an un crossable riverFor the one who loves you.
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1