2022年西安财经大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2022年西安财经大学计算机科学与技术专业《数据结构与算法》科目
期末试卷A(有答案)
一、选择题
1、下述文件中适合于磁带存储的是()。
A.顺序文件
B.索引文件
C.哈希文件
D.多关键字文件
2、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储, a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为()。
A.13
B.33
C.18
D.40
3、静态链表中指针表示的是()。
A.下一元素的地址
B.内存储器的地址
C.下一元素在数组中的位置
D.左链或右链指向的元素的地址
4、在下列表述中,正确的是()
A.含有一个或多个空格字符的串称为空格串
B.对n(n>0)个顶点的网,求出权最小的n-1条边便可构成其最小生成树
C.选择排序算法是不稳定的
D.平衡二叉树的左右子树的结点数之差的绝对值不超过l
5、有六个元素6,5,4,3,2,1顺序入栈,下列不是合法的出栈序列的是()。
A.543612
B.453126
C.346521
D.234156
6、若一棵二叉树的前序遍历序列为a,e,b,d,c,后序遍历序列为b, c,d,e,a,
则根结点的孩子结点()。
A.只有e B.有e、b C.有e、c D.无法确定
7、若元素a,b,c,d,e,f依次进栈,允许进栈、退栈操作交替进行,但不允许连续三
次进行退栈操作,则不可能得到的出栈序列是()。
8、在下述结论中,正确的有()。
①只有一个结点的二叉树的度为0。
②二叉树的度为2。
③二叉树的左右子树可任意交换。
④深度为K的完全二叉树的结点个数小于或等于深度相同的满二叉树。
A.①②③
B.⑦③④
C.②④
D.①④
9、一棵非空的二叉树的前序序列和后序序列正好相反,则该二叉树一定满足()。
A.其中任意一个结点均无左孩子
B.其中任意一个结点均无右孩子
C.其中只有一个叶结点
D.其中度为2的结点最多为一个
10、在平衡二叉树中插入一个结点后造成了不平衡,设最低的不平衡结点为A,并已知A
的左孩子的平衡因子为0,右孩子的平衡因子为l,则应作()型调整以使其平衡
A.LL
B.LR
C.RL
D.RR
二、填空题
11、在哈希函数H(key)=key%p中,p值最好取______。
12、在有n个顶点的有向图中,每个顶点的度最大可达______。
13、检索是为了在文件中寻找满足一定条件的记录而设置的操作。
检索可以按______检索。
也可以按______检索;按______检索又可以有 ______检索和______检索。
14、在双向循环链表中,向p所指的结点之后插入指针f所指的结点,其操作是______、______、______、______。
15、索引顺序文件既可以顺序存取,也可以______存取。
16、设T和P是两个给定的串,在T中寻找等于P的子串的过程称为______,又称P为______。
17、一棵有n个结点的满二叉树有______个度为1的结点、有______个分支(非终端)结点和______个叶子,该满二叉树的深度为______。
18、设有一个10阶对称矩阵A采用压缩存储方式(以行为主序存储: a11=1),则a85的地址为______。
三、判断题
19、倒排文件的目的是为了多关键字查找。
()
20、直接访问文件也能顺序访问,只是一般效率不高。
()
21、设栈采用顺序存储结构。
若已有i-1个元素入栈,则将第i个元素入栈时,入栈算法的时间复杂性为O(i)。
()
22、设模式串的长度为m,目标串的长度为n,当n≈m且处理只匹配一次的模式时,朴素的匹配(即子串定位函数)算法所花的时间代价可能会更为节省。
()
23、哈夫曼树度为1的结点数等于度为2和0的结点数之差。
()
24、任何二叉树的后序线索树进行后序遍历时都必须用栈。
()
25、抽象数据类型与计算机内部表示和实现无关。
()
26、线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的。
()
27、平衡二叉树中,若某个结点的左、右孩子的平衡因子为零,则该结点的平衡因子一定是零。
()
28、在索引顺序表中,实现分块查找,在等概率查找情况下,其平均查找长度不仅与表中元素个数有关,而且与每块中元素个数有关。
()
四、简答题
29、对于具有n个叶结点且所有非叶结点都有左、右孩子的二叉树。
(1)试问这种二叉树的结点总数是多少?
(2)试证明2-(li-1)=1。
其中:l i表示第i个叶结点所在的层号(设根结点所在层号为1)。
30、假定对有序表:(3,4,5,7,24,30,42,54,63,72,87,95)进行折半查找,试回答下列问题:
(1)画出描述折半查找过程的判定树。
(2)若查找元素54,需依次与哪些元素比较?
(3)若查找元素90,需依次与哪些元素比较?
(4)假定每个元素的查找概率相等,求查找成功时的平均查找长度。
31、已知世界六大城市为:北京(Pe)、纽约(N)、巴黎(Pa)、伦敦(L)、东京(T)、墨西哥(M),下表给定了这六大城市之间的交通里程:
世界六大城市交通里程表(单位:百公里)
(1)画出这六大城市的交通网络图。
(2)画出该图的邻接表表示法。
(3)画出该图按权值递增的顺序来构造的最小(代价)生成树。
五、算法设计题
32、设有一个数组中存放了一个无序的关键序列K1,K2,…,K n。
现要求将K n放在将元素排序后的正确位置上,试编写实现该功能的算法,要求比较关键字的次数不超过n (注:用程序实现)。
33、设二叉树用二指针结构存储(可以是动态存储结构),元素值为整数,且元素值无重复,请编写子程序,求出以元素值等于某个给定的整数的结点为根的子树中的各个叶结点。
34、写一算法找出n个数的最大值和最小值,要求最坏条件下的元素比较次数为
35、有n个记录存储在带头结点的双向链表中,现用双向起泡排序法对其按上升序进行
排序,请写出这种排序的算法(注:双向起泡排序即相邻两趟排序向相反方向起泡)。
参考答案
一、选择题
1、【答案】A
2、【答案】B
3、【答案】C
4、【答案】C
5、【答案】C
6、【答案】A
7、【答案】D
8、【答案】D
9、【答案】C
10、【答案】C
二、填空题
11、【答案】小于等于表长的最大素数或不包含小于20的质因子的合数
12、【答案】2(n-1)
13、【答案】关键字;记录号;记录号;顺序;直接
14、【答案】f->next=p->next;f->prior=p;p->next->prior=f;p->next=f。
15、【答案】随机
16、【答案】模式匹配;模式串
17、【答案】
【解析】满二叉树没有度为1的结点,度为0的结点等于度为2的结点个数+1。
18、【答案】33
三、判断题
19、【答案】√
20、【答案】×
21、【答案】×
22、【答案】√
23、【答案】×
24、【答案】×
25、【答案】√
26、【答案】×
27、【答案】×
28、【答案】√
四、简答题
29、答:(1)根据二叉树中度为2的结点个数等于叶结点个数减1的性质,故具有n个叶结点且非叶子结点均有左子树的二叉树的结点数是2n-1。
(2)证明:当i=1时,2-(1-1)=20=1,公式成立。
设当i=n-1时公式成立,证明当i=n时公
式仍成立。
设某叶结点的层号为t,当将该结点变为内部结点,从而再增加两个叶结点时,这两个叶结点的层号都是t+1,对于公式的变化,是减少了一
个原来的叶结点,增加了两个新叶结点,反映到公式中,因为2-(t-1)=2-(t+1-1)+2-
(t+1-1),所以结果不变,这就证明当i=n时公式仍成立。
证毕。
30、答:(1)判定树如图所示:
(2)若查找元素54,需依次和元素30、63、42、54比较,查找成功。
(3)若查找元素90,需依次和元素30、63、87、95比较,查找失败。
(4)
31、答:(1)这六大城市的交通网络图如图所示:
(2)该图的邻接表表示法如图所示:
(3)最小生成树有6个顶点与条边:V(G)={Pe,N,Pa,L,T,M}E(G)={(L,Pa,3),(Pe,T,21),(M,N,32),(L,N,55),(L, Pe,81)}
五、算法设计题
32、答:算法如下:
33、答:算法如下:
34、答:算法如下:
35、答:算法如下:。