2023年北京化工大学信息管理与信息系统专业《数据结构与算法》科目期末试卷B(有答案).docx
- 文档编号:30792574
- 上传时间:2023-10-06
- 格式:DOCX
- 页数:13
- 大小:304.61KB
2023年北京化工大学信息管理与信息系统专业《数据结构与算法》科目期末试卷B(有答案).docx
《2023年北京化工大学信息管理与信息系统专业《数据结构与算法》科目期末试卷B(有答案).docx》由会员分享,可在线阅读,更多相关《2023年北京化工大学信息管理与信息系统专业《数据结构与算法》科目期末试卷B(有答案).docx(13页珍藏版)》请在冰豆网上搜索。
2023年北京化工大学信息管理与信息系统专业《数据结构与算法》科目期末试卷B(有答案)
一、选择题
1、用有向无环图描述表达式(A+B)*((A+B)//A),至少需要顶点的数目为( )。
A.5B.6C.8D.9
2、n个结点的完全有向图含有边的数目( )。
A.n*nB.n(n+1)C.n/2D.n*(n-1)
3、算法的计算量的大小称为计算的( )。
A.效率B.复杂性C.现实性D.难度
4、循环队列A[0..m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是( )。
A.(rear-front+m)%m
B.rear-front+1
C.rear-front-1
D.rear-front
5、有六个元素6,5,4,3,2,1顺序入栈,下列不是合法的出栈序列的是( )。
A.543612B.453126C.346521D.234156
6、下列关于无向连通图特性的叙述中,正确的是( )。
Ⅰ.所有的顶点的度之和为偶数Ⅱ.边数大于顶点个数减1Ⅲ.至少有一个顶点的度为1
A.只有ⅠB.只有ⅡC.Ⅰ和ⅡD.Ⅰ和Ⅲ
7、若元素a,b,c,d,e,f依次进栈,允许进栈、退栈操作交替进行,但不允许连续三次进行退栈操作,则不可能得到的出栈序列是( )。
8、有关二叉树下列说法正确的是( )。
A.二叉树的度为2
B.一棵二叉树的度可以小于2
C.二叉树中至少有一个结点的度为2
D.二叉树中任何一个结点的度都为2
9、每个结点的度或者为0或者为2的二叉树称为正则二叉树。
n个结点的正则二叉树中有( )个叶子。
A.log2nB.(n-1)/2C.log2n+1D.(n+1)/2
10、就平均性能而言,目前最好的内排序方法是( )排序法。
A.起泡B.希尔插入C.交换D.快速
二、填空题
11、如果按关键码值递增的顺序依次将关键码值插入到二叉排序树中,则对这样的二叉排序树检索时,平均比较次数为______。
12、在哈希函数H(key)=key%p中,p值最好取______。
13、如下的算法分别是后序线索二叉树求给定结点node的前驱结点与后继结点的算法,请在算法空格处填上正确的语句。
设线索二叉树的结点数据结构为(lflag,left,data,right,rflag),其中:
lflag=0,left指向其左孩子,lflag=1,left指向其前驱;rflag=0,right指向其右孩子,rflag=1,right指向其后继。
14、索引顺序文件既可以顺序存取,也可以______存取。
15、文件由______组成;记录由______组成。
16、设数组a[1..50,1..80]的基地址为2000,每个元素占2个存储单元,若以行序为主序顺序存储,则元素a[45,68]的存储地址为______;若以列序为主序顺序存储,则元素a[45,68]的存储地址为______。
17、假设一个15阶的上三角矩阵A按行优先顺序压缩存储在一维数组B中,则非零元素A9.9在B中的存储位置k=______。
(注:
矩阵元素下标从1开始)
18、模式串P=‘abaabcac’的next函数值序列为______。
三、判断题
19、倒排文件是对次关键字建立索引。
( )
20、直接访问文件也能顺序访问,只是一般效率不高。
( )
21、数组不适合作为任何二叉树的存储结构。
( )
22、栈的输入序列是1,2,…,n,输出序列是a1,a2,…,an若ai=n(1≤i≤n)则有:
ai>ai+1>…>an。
( )
23、任何二叉树的后序线索树进行后序遍历时都必须用栈。
( )
24、树形结构中元素之间存在一对多的关系。
( )
25、在一个设有头指针和尾指针的单链表中,执行删除该单链表中最后一个元素的操作与链表的长度无关。
( )
26、顺序存储结构的主要缺点是不利于插入或删除操作。
( )
27、连通图上各边权值均不相同,则该图的最小生成树是唯一的。
( )
28、对大小均为n的有序表和无序表分别进行顺序查找,在等概率查找的情况下,对于查找成功,它们的平均查找长度是相同的,而对于查找失败,它们的平均查找长度是不同的。
( )
四、简答题
29、已知n阶下三角矩阵A(即当i<j时,有aij=0),按照压缩存储的思想,可以将其主对角线以下所有元素(包括主对角线上元素)依次存放于一维数组B中,请写出从第一列开始采用列序为主序分配方式时在B中确定元素aij的存放位置的公式。
30、将下列由三棵树组成的森林转换为二叉树(只要求给出转换结果)。
31、设将n(n>1)个整数存放到一维数组R中。
试设计一个在时间和空间两方面都尽可能高效的算法,将R中存有的序列循左移P(0<P<n)个位置,即将R中的数据由(X0,X1,…,Xn-1)变换为(xp,xp+1,…,xn-1,x0,x1,…,xp-1)。
要求:
(1) 给出算法的基本设计思想。
(2) 根据设计思想,采用C或C++或JAVA语言描述算法,关键之处给出注释。
说明你所设计算法的时间复杂度和空间复杂度。
五、算法设计题
32、设从键盘输入一整数的序列:
a1,a2,a3,…,an,试编写算法实现:
用栈结构存储输入的整数,当ai≠-1时,将ai入栈;当ai=-l时,输出栈顶整数并出栈。
算法应对异常情况(入栈满等)给出相应的信息。
33、设计将数组A[n]中所有的偶数移到奇数之前的算法。
要求不增加存储空间,且时间复杂性为O(n)。
34、设二叉树用二指针结构存储(可以是动态存储结构),元素值为整数,且元素值无重复,请编写子程序,求出以元素值等于某个给定的整数的结点为根的子树中的各个叶结点。
35、已知一棵高度为K具有n个结点的二叉树,按顺序方式存储。
(1)编写用前序遍历树中每个结点的非递归算法。
(2)编写将树中最大序号叶结点的祖先结点全部打印输出的算法。
参考答案
一、选择题
1、【答案】A
2、【答案】D
3、【答案】B
4、【答案】A
5、【答案】C
6、【答案】A
7、【答案】D
8、【答案】B
9、【答案】D
10、【答案】D
二、填空题
11、【答案】(n+1)/2
12、【答案】小于等于表长的最大素数或不包含小于20的质因子的合数
13、【答案】node->rflag==0;*x=bt;*x=node->right;prior(t,x)
14、【答案】随机
15、【答案】记录;数据项
16、【答案】9174;8788
17、【答案】93
18、【答案】01122312
三、判断题
19、【答案】√
20、【答案】×
21、【答案】×
22、【答案】×
23、【答案】×
24、【答案】√
25、【答案】×
26、【答案】√
27、【答案】√
28、【答案】√
四、简答题
29、答:
2阶下三角矩阵元素A[i][j](1≤i,j≤n,i≥j)。
第1列有n个元素,第j列有n-j+1个元素,第1列到第j-1列是梯形,元素数为(n+(n-j+2)(j-1)/2,而aij在第j列上的位置是为i-j+1。
所以n阶下三角矩阵A按列存储,其元素aij在一维数组B中的存储位置k与i和j的关系为:
30、答:
森林转换为二叉树分以下三步:
(1)连线(将兄弟结点相连,各树的根看作兄弟)。
(2)切线(保留最左边子女为独生子女,将其他子女分支切掉)。
(3)旋转(以最左边树的根为轴,顺时针向下旋转45度)。
所以由上面三棵树转换得到的二叉树如图所示:
31、答:
(1)算法的基本设计思想:
先将n个数据由x0,x1,…,xp,…,xn-1原地逆置,得到xn-1,…,xp,xp-1,…,x0然后再将数组R中的前n-P个数和后P个数分别原地逆置,最终得到结果xp,xp+1,…,xn-1,x0,x1,…,xp-1。
(2)用C语言算法描述如下:
(3)说明算法的复杂性:
上述算法中3个Reverse函数的时间复杂度分别为O(p/2)、O((p-2)/2)为O(n/2),故算法的时间复杂度为O(n),算法的空间复杂度为O
(1)。
五、算法设计题
32、答:
算法如下:
33、答:
算法如下:
34、答:
算法如下:
35、答:
(1)算法如下:
(2)算法如下:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构与算法 2023 北京 化工大学 信息管理 信息系统 专业 数据结构 算法 科目 期末试卷 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)