2018年江苏师范大学计算机科学与技术学院862管理信息系统与数据结构之数据结构考研强化五套模拟题
● 摘要
一、填空题
1.
【答案】5
2. 求最短路径的Dijkstra 算法的时间复杂度为_____。
【答案】
,用
三元组表示弧
及弧上的
,则从源点0到顶点3的最短路径长度是_____,经过的中间顶点是_____。
【答案】50;4
4. 实现字符串拷贝的函数strcpv 为:
(_____)
【答案】s++=*t++或(*s++=*t++)!='\0’
5. 一个字符串中_____称为该串的子串。
【答案】任意个连续的字符组成的子序列
6. 关键码序列(Q,H ,C ,Y ,Q ,A ,M ,S ,R ,D ,F ,X) ,要按照关键码值递增的次序进行排序,若采用初始步长为4的希尔排序法,则一趟扫描的结果是_____; 若采用以第一个元素为分界元素的快速排序法,则扫描一趟的结果是_____。
【答案】(Q,A ,C ,S ,Q ,D ,F ,X ,R ,H ,M ,Y) ; (F,H ,C ,D ,a ,A ,M ,Q ,R ,S ,Y ,X)
【解析】希尔排序的基本思想是:先将整个待排记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行一次直接插入排序。
快速排序(quick sort) 的基本思想是,通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。
=_____
3. 有向图G=(V, E) ,其中权d 。E(G)为
7. 下列程序是快速排序的非递归算法,请填写适当的语句,完成该功能。
a 中存放待排序的关键字
【答案】
【解析】快速排序(quick sort)的基本思想是,通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。
8. 顺序查找n 个元素的顺序表,若查找成功,则比较关键字的次数最多为_____次;当使用监视哨时,若查找失败,则比较关键字的次数为_____。
【答案】n ; n+1
【解析】最多的情况就是把整个表遍历了一遍。使用监视哨时,需要多一个存储空间来存监视哨。
9. —棵深度为k 的平衡二叉树, 其每个非终端结点的平衡因子均为0,则该树共有_____个结点。
【答案】树。故结点个数为
。
【解析】每个非终端结点都是0表示该平衡二叉树没有高度落差。也就是说它是一棵满二叉
10.以下程序的功能是实现带附加头结点的单链表数据结点逆序连接,请填空完善之。
h 为附加头结点指针
(_____)
_____;
【答案】(1)p!=NULL //链表未到尾就一直进行 (2)q //将当前结点作为头结点后的第一元素结点插入
二、单项选择题
11.图G 是n 个顶点的无向完全图,则下列说法不正确的是( )
A.G 的邻接多重表需要n(n-1) 个边结点和n 个顶点结点 B.G 的连通分量个数最少 C.G 为连通图
D.G 所有顶点的度的总和为n(n—1) 【答案】A
A 项中G 的邻接多重表中需要【解析】
个边结点和n 个顶点结点。此时连通分量最少
为1。无向完全图中任意两个顶点之间都存在路径,则G 必为连通图。每个顶点的度为n -1,则n 个结点的度的总和为n(n-1) 。
12.已知两个长度分别为m 和n 的升序链表, 若将它们合并为一个长度为m+n的降序链表, 则最坏情况下的时间复杂度是( )
A. B. C. D. 【答案】D
m 和n 是两个升序链表长度分别为m 和n , 在合并过程中最坏的情况是两个链表中的【解析】
元素依次进行比较, 比较的次数是m 和n 中的最大值。
13.在一个有N 个元素的有序单链表中查找具有给定关键字的结点,平均情况下的时间复杂性为( )。
A.O(1) B.O(N) C.O(N2) D. 【答案】B
【解析】二分查找的时间复杂度为
。在一个用N 个元素的有序单链表中查找具有给定
相关内容
相关标签