2026软考备考刷题:软件设计师经典100题(5)含详细解析

1、语言L= {a m b n | m >= 0, n >= 1}的正规表达式是( )。

A.aa*bb*

B.a*bb*

C.aa*b*

D.a*b*

答案:B

解析:由于m的值大于等于0,因此a的个数可能没有,也可能是多个,与之对应的是a*,而n的值是大于等于1的,因此至少有一个b,那么与之对应的就是bb*,所以本题答案选B。

2、算术表达式(a-b)*c+d的后缀式是( )(-、+、*表示算术的减、加、乘运算,运算符的优先级和结合性遵循惯例)。

A.a b c d - * +

B.a b -- c d * +

C.a b -- c * d +

D.a b c -- d * +

答案:C

解析:本题要求通过中缀表达式,求后缀式(也称为逆波兰)。解答这类问题,可以借助于二叉树。因为中缀表达式对应于一颗二叉树的中序遍历,前缀表达式对应于二叉树的前序遍历,后缀表达式对应于二叉树的后序遍历。所以在本题中,需要先把二叉树构造处理。将表达式(a-b)*c+d构造成二叉树,如图所示。

将树进行后序遍历,得到:ab-c*d+。

3、某系统中仅有5个并发进程竞争某类资源,且都需要3个该类资源,那么至少有( )个该类资源,才能保证系统不会发生死锁。

A.9

B.10

C.11

D.15

答案:C

解析:本题考进程死锁的问题。

题目告诉我们有5个并发进程,且都需要3个资源,那么最坏的情况就是,每个进程都获得了比需要少一个的资源,即5个进程都分配了2个资源,如果这个时候,系统还有多的一个资源,那么无论分给那个进程,都不会死锁,这个时候是11个资源。因此系统只要有11个资源,那么无论怎么分配资源都不会死锁。

4、在13个元素构成的有序表M1..13中进行折半查找(向下取整),若找到的元素为M4,则被比较的元素依次为( )。

A.M7、M3、M5、M4

B.M7、M5、M4

C.M7、M6、M4

D.M7、M4

答案:A

解析:整个查找的过程为:

(1+13)/2=7,因此首先与第7元素比较,由于要查找的元素在其前面,因此用(1+7-1)/2=3,然后与第3个元素比较,由于待查找在其后面,因此用(3+1+6)/2=5,因此接下来与第5个元素进行比较,最后再与第4个元素比较,找到了M4

5、拓扑排序是将有向图中所有顶点排成一个线性序列的过程,并且该序列满足:若在AOV网中从顶点Vi到Vj有一条路径,则顶点Vì必然在顶点Vj之前。对于下面所示的有向图,( )是其拓扑序列。

A.1234576

B.1235467

C.2135476

D.2134567

答案:C

解析:本题考查数据结构中的拓扑排序。

6、 地址编号从80000H到BFFFFH且按字节编址的内存容量为( )KB,若用16K*4bit的存储器芯片构成该内存共需( )片。

A.128

B.256

C.512

D.1024

A.8

B.16

C.32

D.64

答案:第1题:B,第2题:C

解析:从80000H到BFFFFH有BFFFFH-80000H+1个地址单元,即40000H个地址单元。若按字节编址,有218个字节,即256KB。若用16K*4bit的存储芯片,需要(256K*1B)/(16K*4bit)=(256K*8bit)/(16K*4bit)=(256K*2*4bit)/(16K*4bit) = 32片芯片。

软考历年真题_免费视频课程_软考教材思维导图下载_考前冲刺备考资料_历年真题电子版https://wangxiao.xisaiwang.com/rk/xxzl/n101.html?fcode=h1000118_e3072

相关推荐
Reart44 分钟前
Leetcode 198.打家劫舍(716)
后端·算法
Jerry1 小时前
LeetCode 110. 平衡二叉树
算法
玖玥拾1 小时前
C++ 数据结构 八大基础排序算法专题
数据结构·c++·算法·排序算法
Tim_101 小时前
【C++】017、new/delete与malloc/free的区别
java·数据结构·算法
从零开始的代码生活_2 小时前
C++ list 原理与实践:双向链表、迭代器与简化实现
开发语言·c++·后端·学习·算法·链表·list
ttod_qzstudio3 小时前
【软考算法】软件设计师下午第四题之动态规划:0-1 背包与最长公共子序列的“填表艺术“
算法·动态规划·软考
柒和远方3 小时前
LeetCode 139. 单词拆分 —— 从暴力回溯到 DP 完全背包
javascript·python·算法
从零开始的代码生活_4 小时前
C++ stack、queue 与 priority_queue:容器适配器原理与实战
开发语言·c++·后端·学习·算法
晚笙coding4 小时前
LeetCode 226. 翻转二叉树(Invert Binary Tree)
算法·leetcode·职场和发展
2zcode4 小时前
项目文档:基于MATLAB低采样率ISAR成像的快速稀疏重建算法研究
开发语言·算法·matlab