2018年11月程序员考试模拟题(二)之二十一
作者:mb6059652fef3b12023-11-14 01:00:15
备考咨询 刷题指导
添加专属学姐
2024上半年软考备考资料+考试大纲
下载
摘要:对于【程序员】软考考试而言,试题无疑是最重要的学习资料之一。在软考备考过程中,吃透试题、掌握试题所考知识点、熟悉试题的出题思路,对我们提升分数的效果是最明显的,通过对试题的反复练习,还可以查漏补缺。今天,给大家带来【2018年11月程序员考试模拟题(二)】部分试题的详解,一起来看看吧~1、快速排序算法是,在排序过程中,在待排序数组中确定一个元素为基准元素,根据基准元素把
摘要:对于【程序员】软考考试而言,试题无疑是最重要的学习资料之一。在软考备考过程中,吃透试题、掌握试题所考知识点、熟悉试题的出题思路,对我们提升分数的效果是最明显的,通过对试题的反复练习,还可以查漏补缺。今天,给大家带来【2018年11月程序员考试模拟题(二)】部分试题的详解,一起来看看吧~
1、快速排序算法是,在排序过程中,在待排序数组中确定一个元素为基准元素,根据基准元素把待排序数组划分成两个部分,前面一部分元素值小于基准元素,而后面一部分元素值大于基准元素。然后再分别对前后两个部分进一步进行划分。根据上述描述,快速排序算法采用了 (请作答此空) 算法设计策略。已知确定着基准元素操作的时间复杂度为O(n),则快速排序算法的最好和最坏情况下的时间复杂度为 ( ) 。
A、 分治
B、 动态规划
C、 贪心
D、 回溯
答案:A
答题解析:
2、快速排序算法是,在排序过程中,在待排序数组中确定一个元素为基准元素,根据基准元素把待排序数组划分成两个部分,前面一部分元素值小于基准元素,而后面一部分元素值大于基准元素。然后再分别对前后两个部分进一步进行划分。根据上述描述,快速排序算法采用了 ( ) 算法设计策略。已知确定着基准元素操作的时间复杂度为O(n),则快速排序算法的最好和最坏情况下的时间复杂度为 (请作答此空) 。
A、 O(n)和O(nlgn)
B、 O(n)和O(n2)
C、 O(nlgn)和O(nlgn)
D、 O(nlgn)和O(n2)
答案:D
答题解析:
3、对一待排序序列分别进行直接插入排序和简单选择排序,若待排序序列中有两个元素的值相同,则 ( ) 保证这两个元素在排序前后的相对位置不变。
A、 直接插入排序和简单选择排序都可以
B、 直接插入排序和简单选择排序都不能
C、 只有直接插入排序可以
D、 只有简单选择排序可以
答案:C
答题解析:
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
答题解析:
本例通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。因为元素扫描顺序固定,所以对于相同元素,可以保证后出现的元素一定在之前出现元素的后面。
查看完整试题>>>
软考资料: 2024年软考论文范文> 软考考试核心重点难点汇总> 查看更多>
备考刷题:章节练习+每日一练> 软考历年试题+模拟题>查看更多>