当前位置: 首页icon 51CTO软考 > 软考资讯 >考试科目 >2018年11月程序员考试模拟题(二)之二十一

2018年11月程序员考试模拟题(二)之二十一

作者:mb6059652fef3b12023-11-14 01:00:15
备考咨询 刷题指导
添加专属学姐
下载资料 2024上半年软考备考资料+考试大纲
下载按钮 下载
引号

摘要:对于【程序员】软考考试而言,试题无疑是最重要的学习资料之一。在软考备考过程中,吃透试题、掌握试题所考知识点、熟悉试题的出题思路,对我们提升分数的效果是最明显的,通过对试题的反复练习,还可以查漏补缺。今天,给大家带来【2018年11月程序员考试模拟题(二)】部分试题的详解,一起来看看吧~1、快速排序算法是,在排序过程中,在待排序数组中确定一个元素为基准元素,根据基准元素把

引号
摘要:对于【程序员】软考考试而言,试题无疑是最重要的学习资料之一。在软考备考过程中,吃透试题、掌握试题所考知识点、熟悉试题的出题思路,对我们提升分数的效果是最明显的,通过对试题的反复练习,还可以查漏补缺。今天,给大家带来【2018年11月程序员考试模拟题(二)】部分试题的详解,一起来看看吧~



1、快速排序算法是,在排序过程中,在待排序数组中确定一个元素为基准元素,根据基准元素把待排序数组划分成两个部分,前面一部分元素值小于基准元素,而后面一部分元素值大于基准元素。然后再分别对前后两个部分进一步进行划分。根据上述描述,快速排序算法采用了 (请作答此空) 算法设计策略。已知确定着基准元素操作的时间复杂度为O(n),则快速排序算法的最好和最坏情况下的时间复杂度为 ( ) 。
A、 分治
B、 动态规划
C、 贪心
D、 回溯

答案:A
答题解析:

将数据分成若干份,每份单独处理后再合并,其思想为分治。
理想情况下,快速排序每次将数据划分为规模相近的两部分,并递归至不可再划分,因此其时间复杂度为O(nlgn)。在最坏情况下,每次划分都极不均匀,如一个类别中仅有一个元素,另一个类别中包含剩余所有元素。这时划分的复杂度为O(n),次操作的总复杂度为O(n2)。



2、快速排序算法是,在排序过程中,在待排序数组中确定一个元素为基准元素,根据基准元素把待排序数组划分成两个部分,前面一部分元素值小于基准元素,而后面一部分元素值大于基准元素。然后再分别对前后两个部分进一步进行划分。根据上述描述,快速排序算法采用了 ( ) 算法设计策略。已知确定着基准元素操作的时间复杂度为O(n),则快速排序算法的最好和最坏情况下的时间复杂度为 (请作答此空) 。
A、 O(n)和O(nlgn)
B、 O(n)和O(n2)
C、 O(nlgn)和O(nlgn)
D、 O(nlgn)和O(n2)

答案:D
答题解析:

将数据分成若干份,每份单独处理后再合并,其思想为分治。
理想情况下,快速排序每次将数据划分为规模相近的两部分,并递归至不可再划分,因此其时间复杂度为O(nlgn)。在最坏情况下,每次划分都极不均匀,如一个类别中仅有一个元素,另一个类别中包含剩余所有元素。这时划分的复杂度为O(n),次操作的总复杂度为O(n2)。



3、对一待排序序列分别进行直接插入排序和简单选择排序,若待排序序列中有两个元素的值相同,则 ( ) 保证这两个元素在排序前后的相对位置不变。
A、 直接插入排序和简单选择排序都可以
B、 直接插入排序和简单选择排序都不能
C、 只有直接插入排序可以
D、 只有简单选择排序可以

答案:C
答题解析:

本例通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。因为元素扫描顺序固定,所以对于相同元素,可以保证后出现的元素一定在之前出现元素的后面。



查看完整试题>>>


免费刷题报考资讯 机考模拟 学习群