当前位置: 首页icon 51CTO软考 > 软考资讯 >考试科目 >2020年11月软件设计师模拟题上午(一)之九

2020年11月软件设计师模拟题上午(一)之九

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

摘要:对于【软件设计师】软考考试而言,试题无疑是最重要的学习资料之一。在软考备考过程中,吃透试题、掌握试题所考知识点、熟悉试题的出题思路,对我们提升分数的效果是最明显的,通过对试题的反复练习,还可以查漏补缺。今天,给大家带来【2020年11月软件设计师模拟题上午(一)】部分试题的详解,一起来看看吧~1、下面关于栈和队列的叙述中,错误的是()。A、栈和队列都是操作受限的线性表B

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



1、下面关于栈和队列的叙述中,错误的是()。
A、栈和队列都是操作受限的线性表
B、队列采用单循环链表存储时,只需设置队尾指针就可使入队和出队操作的时间复杂度都为O(1)
C、若队列的数据规模n可以确定,则采用顺序存储结构比链式存储结构效率更高
D、利用两个栈可以模拟一个队列的操作,反之亦可

答案:D
答题解析:

栈和队列都是操作受限的线性表:栈仅在表尾插入和删除元素;队列仅在表头删除元素、在表尾插入元素。

采用单循环链表表示队列的示意图如下图所示:

1.jpg

①入队时,新元素在an之后,若新元素节点指针为s,则在一般情况下入队操作序列表示为s->next=rear->next;rear->next=s;rear=s;。

②出队时,将队头元素a,从队列中删除,一般情况下出队操作序列表示为:

q=rear->next;//q指向队头元素所在节点

rear->next=q->next;

free(q);

入队时初始队列为空、出队后队列变为空要进行特殊处理。

入队操作和出队操作均与队列长度无关,因此其时间复杂度都为O(1)。

队列是先入先出的线性表,栈是后进先出的线性表。一个线性序列经过队列结构后只能得到与原序列相同的元素序列,而经过一个栈结构后则可以得到多种元素序列。用两个栈可以模拟一个队列的入队和出队操作。



2、下面关于二叉树的叙述,正确的是()。
A、 完全二叉树的高度h与其节点数n之间存在确定的关系
B、 在二叉树的顺序存储和链式存储结构中,完全二叉树更适合采用链式存储结构
C、 完全二叉树中一定不存在度为1的节点
D、 完全二叉树中必定有偶数个叶子节点

答案:A
答题解析:

根据其定义,一棵完全二叉树除了最后一层外,其余层的节点数都是满的,最后一层的节点也必须自左至右排列,例如图(a)是高度为3的满二叉树,图(b)是完全二叉树,图(c)不是完全二叉树。

1.jpg

二叉树采用顺序存储结构时,对于编号为i的节点,则有:

● 若i=l时,该节点为根节点,无双亲:

● 若i>l时,该节点的双亲节点为|i/2|:

● 若2i≤n,则该节点的左孩子编号为2i否则无左孩子:

● 若2i+1≤n,则该节点的右孩子编号为2i+1,否则无右孩子。

图(d)为具有10个节点的完全二叉树及其顺序存储结构,图(e)为某非完全二叉树的顺序存储结构,从中可以看出,完全二叉树适合采用顺序存储结构。
1.jpg
可以推导出具有n个节点的完全二叉树的深度为[log2n]+1。



3、现有16枚外形相同的硬币,其中有一枚比真币的重量轻的假币,若采用分治法找出这枚假币,至少比较()次才能够找出该假币。
A、3
B、4
C、5
D、6

答案:B
答题解析:用分治法找假币的过程为:先将16枚硬币对等分为2堆(各8枚)并比较其重量,假币在较轻的那一堆中;然后将8枚硬币对等分为2堆(各4枚)并比较其重量,假币在较轻的那一堆中;再将4枚硬币对等分为2堆(各2枚)并比较其重量,假币在较轻的那一堆中;最后比较两个硬币的重量,找出假币。因此,至少比较4次才能够找出该假币。

查看完整试题>>>


代理合作学习群