2003年度系统设计师(高级程序员)上午试题解析-数据结构篇(2)

5. 将两个长度为 n 的递增有序表归并成一个长度为 2n 的递增有序表,最少需要进行关键字比较____次。

A. 1      B. n-1   C. n       D. 2n

答案:C

解析:考生首先要明白两个前提:一是要归并的两个表都是递增有序的且长度都为n,二是题目问的是最少的关键字比较次数,即最好的情况下的比较次数。而最好的情况应该是:一个表的所有关键字都大于(或小于)另一个表的所有关键字,如:(1 2 3 4)与(5 6 7 8)。比较的时候有两个指针分别指向两个表的第一个元素,由于一个表的关键字要都大于另一个表的关键字,所以关键字小的表中的元素挨个与关键字大的表的第一个元素比较后,先被并入到新表中,这时关键字大的表的指针还是指向第一个元素没变,此时只需将关键字大的表复制到新表中即可。所以花费的比较次数就是关键字小的表长,也就是n

 6.已知AOE网中顶点v1v7分别表示7个事件,弧ala10分别表示10个活动,弧上的数值表示每个活动花费的时间,如下图所示。那么,该网的关键路径的长度为__1__,活动a6的松驰时间(活动的最迟开始时间-活动的最早开始时间)为__2__

(1) A. 7     B. 9       C. 10     D. 11

(2) A. 3        B. 2    C. 1       D. 0

答案:(1C 2A

解析:(1)关键路径就是从起点到终点最长的路径。直接从图中找即可,v1 v4 v5 v7就是一条,长度为10。(2)从关键路径中可以看出,v1v4需要花费的时间为6,活动a6至少要在经过时间2后才能开始,最晚开始时间为:624 ,则活动a6的松驰时间是422

 7.对n个元素进行快速排序时,最坏情况下的时间复杂度为____

AO(1og2n)       BO(n)       CO(nlog2n)     D O (n2)

答案:D

解析:若进行快速排序的n个元素按关键字有序或基本有序时,快速排序将退化为起泡排序,时间复杂度为O (n2)

复习提示:这是一道概念题,也是考生的拿分题,考生对概念一定要清楚。

 8.任何一个基于“比较”的内部排序的算法,若对6个元素进行排序,则在最坏情况下所需的比较次数至少为____

A10   B11   C21    D36

答案:A

解析:内部排序中除了基数排序之外,都是基于“关键字间的比较”进行排序的。任何一个借助“比较”进行排序的算法,在最坏情况下所需的比较次数至少为é1og2(n!)ù,由此可解。具体解释考生可参考严蔚敏、吴伟民的《数据结构》291页。 

9.若G是—个具有36条边的非连通无向图(不含自回路和多重边),则图G至少有___个顶点。

A. 11      B. 10       C. 9   D. 8

答案:B

解析:因为G为非连通图,所以G中至少含有两个连通子图,由于题目问至少有几个顶点,而且该图不含自回路和多重边,所以一个连通图可看成是一个点构成,另一个连通图可看成是一个完全图(因为完全图在最少顶点的情况下能得到的边数最多),这样该问题转化为这个36条边的完全图有多少个顶点,由公式可知:36n×(n-1)/2,n9,加上另一个连通图(只有一个点),则图G至少有10个顶点.

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
很抱歉,但是我没有找到关于程序员编程艺术1-38的PDF。根据引用\[1\]中的信息,程序员编程艺术的总结只包括前二十二章。引用\[3\]提供了一个下载地址,但是只包含了前37章的PDF。所以,目前我无法提供程序员编程艺术1-38的PDF下载地址。 #### 引用[.reference_title] - *1* [程序员编程艺术第一~二十七章集锦与总结(教你如何编程),及PDF免分下载](https://blog.csdn.net/v_JULY_v/article/details/7506231)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [程序员编程艺术第二十五章:Jon Bentley:90%无法正确实现二分查找](https://blog.csdn.net/iteye_20954/article/details/82237124)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [程序员编程艺术第一~三十八章集锦与总结,及Github地址、PDF下载](https://blog.csdn.net/v_JULY_v/article/details/17303459)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值