当前位置: 首页icon 51CTO软考 > 软考资讯 >考试科目 >2021年5月程序员模拟题上午(二)之十九

2021年5月程序员模拟题上午(二)之十九

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

摘要:对于【程序员】软考考试而言,试题无疑是最重要的学习资料之一。在软考备考过程中,吃透试题、掌握试题所考知识点、熟悉试题的出题思路,对我们提升分数的效果是最明显的,通过对试题的反复练习,还可以查漏补缺。今天,给大家带来【2021年5月程序员模拟题上午(二)】部分试题的详解,一起来看看吧~1、在第一趟排序之后,一定能把数据表中最大或最小元素放在其最终位置上的排序算法是 &nb

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



1、在第一趟排序之后,一定能把数据表中最大或最小元素放在其最终位置上的排序算法是  (55) 。
A、冒泡排序
B、直接插入排序
C、快速排序
D、归并排序

答案:A
答题解析:

第i趟冒泡排序是从第1个元素到第n-i+1个元素依次比较相邻两个元素的关键字,并在“逆序”时交换相邻元素,其结果是这n-i+1个元素中最大的元素被交换到第n-i+1的位置上。那么第一趟排序之后,就一定能把数据表中最大的元素放在其最终有序位置上。而其他排序算法均不能实现此要求。

举例说明:要排序数组:int[] arr={6,3,8,2,9,1};

第一趟排序:

第一次排序:6和3比较,6大于3,交换位置: 3 6 8 2 9 1

第二次排序:6和8比较,6小于8,不交换位置:3 6 8 2 9 1

第三次排序:8和2比较,8大于2,交换位置: 3 6 2 8 9 1

第四次排序:8和9比较,8小于9,不交换位置:3 6 2 8 9 1

第五次排序:9和1比较:9大于1,交换位置: 3 6 2 8 1 9

第一趟总共进行了5次比较, 排序结果: 3 6 2 8 1 9

可以看出第一趟排序之后,9被排列在最终位置。



2、为了描述n个人之间的同学关系,可用(56) 结构表示。
A、线性表
B、树
C、图
D、队列

答案:C
答题解析:

在线性表中,数据元素之间仅有线性关系,每个数据元素只有一个直接前驱和一个直接后继:在树形结构中,数据元素之间有着明显的层次关系,并且每一层上的数据元素可自能和下一层中多个元素有关系,但只能和上一层中一个元素有关系;而在图结构中,结点之间的关系可以是任意的,图中任意两个数据元素之间都可能有关系。

在描述n个人之间的同学关系时,使用图这种数据结构表示是较合适的。



3、判断一个表达式中左右括号是否匹配,采用(57) 实现较为方便。
A、线性表的顺序存储
B、队列
C、线性表的链式存储
D、栈

答案:D
答题解析:

栈可以实现表达式中的括号匹配问题。当扫描到左括号时,则将其压入栈中;当扫描到右括号时,从栈顶取出一个左括号。如果能够匹配,比如“(”跟“)”匹配,“[”跟“]”匹配,“{”跟“}”匹配,则继续扫描剩下的字符串。如果扫描的过程中,遇到不能配对的右括号,或者栈中没有数据,则说明为非法格式。

当所有的括号都扫描完成之后,如果栈为空,则说明字符串为合法格式;否则,说明有未匹配的左括号,为非法格式。



查看完整试题>>>


代理合作学习群