第8章怎样研究算法排序算法示例练习题答案解析

第8章怎样研究算法排序算法示例练习题答案解析

ID:6282565

大小:334.28 KB

页数:21页

时间:2018-01-08

第8章怎样研究算法排序算法示例练习题答案解析_第1页
第8章怎样研究算法排序算法示例练习题答案解析_第2页
第8章怎样研究算法排序算法示例练习题答案解析_第3页
第8章怎样研究算法排序算法示例练习题答案解析_第4页
第8章怎样研究算法排序算法示例练习题答案解析_第5页
资源描述:

《第8章怎样研究算法排序算法示例练习题答案解析》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、第8章怎样研究算法:排序算法示例1、排序算法是最基本的算法,很多复杂算法都是以排序为基础进行构造的。关于排序算法,下列说法不正确的是_____。(A)大规模数据集合中查找有无某些元素的问题,有序数据集合比无序数据集合的查找要快得多;(B)大规模数据集合中按元素分组进行计算的问题,有序数据集合比无序数据集合的计算要快得多;(C)对无序数据集合,两个算法X和Y:X采用无序数据处理,Y采用先将无序数据排序成有序数据,然后进行处理;则对前述(A)、(B)两类问题,Y算法一定比X算法慢;(D)上述说法有不正确的;答案:

2、C解释:本题考核排序算法的研究在大规模数据集合中查找,有序数据集合有利算法进行和判断,要比无序数据集合查找的快,对于(C)选项,Y算法尽管需要排序后再处理,但排序处理后的数据查找更加快捷,因此可能Y算法比X算法更快。具体内容请参考排序算法以及第八章课件。2、下列三个算法是关于“大规模数据集合中查找有无某些元素”问题的算法:针对一个“学生”数据表,如下示意,找出“成绩”为某一分数的所有学生。学生学号姓名成绩120300107闫宁95120300103李宁94120300101李鹏88120300106徐月851

3、20300102王刚79120300109江海77120300110周峰73120300104赵凯69120300105张伟66120300108杜岩44【算法A1】StartofalgorithmA1Step1.从数据表的第1条记录开始,直到其最后一条记录为止,读取每一条记录,做Step2。Step2.对每一条记录,判断成绩是否等于给定的分数:如果是,则输出;如果不是,则不输出。EndofalgorithmA1【算法A2】StartofalgorithmA2Step1.从数据表的第1条记录开始,直到其最后一

4、条记录为止,读取每一条记录,做Step2和Step3。Step2.对每一条记录,判断成绩是否等于给定的分数:如果等于,则输出;如果不等于,则不输出。Step3.判断该条记录的成绩是否小于给定的分数:如果不是,则继续;否则,退出循环,算法结束。EndofalgorithmA2【算法A3】StartofalgorithmA3Step1.假设数据表的最大记录数是n,待查询区间的起始记录位置Start为1,终止记录位置Finish为n;Step2.计算中间记录位置I=(Start+Finish)/2,读取第I条记录。

5、Step3.判断第I条记录的成绩与给定查找分数:(3.1)如果是小于关系,则调整Finish=I-1;如果Start>Finish则结束,否则继续做Step2;(3.2)如果是大于关系,则调整Start=I+1;如果Start>Finish则结束,否则继续做Step2;(3.3)如果是等于关系,则输出,继续读取I周围所有的成绩与给定查找条件相等的记录并输出,直到所有相等记录查询输出完毕则算法结束。EndofalgorithmA3针对上述三个算法,回答下列问题:(1)关于算法A1,A2,A3的快慢问题,下列说法

6、正确的是_____。(A)算法A1快于算法A2,算法A2快于算法A3;(B)算法A2快于算法A1,算法A2快于算法A3;(C)算法A3快于算法A2,算法A2快于算法A1;(D)算法A1快于算法A3,算法A3快于算法A2;(E)上述都不正确。答案:C解释:本题考核排序算法的研究首先,数据是有序排列的,从大到小。算法A1依次搜索,穷举。算法A2与A1一样,穷举,不同的是它利用数据是从大到小排序的特点,因此,如果当前数据比如果小于目标数,那么说明只有的也一定小于,则目标不在序列中。因此,A2比A1快。算法A3利用数

7、据有序特点,采用二分查找,每次将目标数与中间值比较,缩小搜索范围,因此A3比A2快。综上,答案选(C)。具体内容请参考排序算法以及第八章课件。(2)关于算法A3,下列说法正确的是_____。(A)对数据表中的任何数据,算法A3都适用;(B)对数据表中任何已排序的数据,算法A3都适用;(C)对已按成绩排序的数据表,算法A3都适用;(D)对已按成绩进行降序排列的数据表,算法A3都适用;(E)上述都不正确。答案:D解释:本题考核排序算法的研究算法A3需求的数据应该是排序的,而且是对成绩排序的,因此排除(A)(B)。

8、其次,按照算法A3,应该是降序排序的数据才可用,因为升降序决定了算法二分查找的重订搜索范围实在中间值的左边还是右边,对于算法A3,要求是降序的。因此选择(D)。具体内容请参考排序算法以及第八章课件。(3)关于算法A3和算法A1,下列说法正确的是_____。(A)如果数据表中记录数越多,则算法A3相比算法A1的优势越明显,即查找时间越短;(B)如果数据表中记录数越多,则算法A1相比算法A3的优势越明显

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。