版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2026上半年软考软件设计师考试真题及答案解析一、单项选择题(每题1分,共75分)1.在计算机CPU中,用于记录下一条待执行指令地址的寄存器是()。A.程序计数器(PC)B.指令寄存器(IR)C.程序状态字寄存器(PSW)D.通用寄存器答案A解析程序计数器用于存放下一条待取指令的地址,顺序执行时自动增量,跳转时加载目标地址;指令寄存器存放当前正在译码执行的指令;程序状态字寄存器存放运算标志、中断允许等状态位;通用寄存器暂存操作数与中间结果。2.某指令流水线由取指、分析、执行3个段组成,各段耗时分别为2ns、2ns、1ns,连续执行100条指令的总耗时为()。A.200nsB.203nsC.300nsD.500ns答案B解析流水线总执行时间公式为:单条指令执行时间+(指令数-1)×流水线最长段耗时,即(23.下列Cache地址映像方式中,块冲突概率最低、硬件成本最高的是()。A.直接映像B.组相联映像C.全相联映像D.段页式映像答案C解析全相联映像允许主存任意块加载到Cache任意行,冲突概率最低,但地址比较电路成本最高;直接映像冲突率最高,组相联是两者的折中方案。4.采用海明码纠正1位错误时,若信息位长度为8位,则校验位的最小长度为()。A.3B.4C.5D.6答案B解析海明码校验位满足公式2r≥k+r+1(k为信息位长度,r5.下列存储介质按存取速度从快到慢排序,正确的是()。A.寄存器>Cache>主存>固态硬盘>机械硬盘B.Cache>寄存器>主存>固态硬盘>机械硬盘C.寄存器>主存>Cache>机械硬盘>固态硬盘D.Cache>主存>寄存器>固态硬盘>机械硬盘答案A6.计算机系统总线中,用于指定主存和I/O设备接口地址的总线是()。A.数据总线B.地址总线C.控制总线D.局部总线答案B解析地址总线传输内存或外设的地址信号,其宽度决定系统最大寻址空间;数据总线传输读写的数据内容;控制总线传输时序控制与应答信号。7.下列关于DMA控制方式的描述,正确的是()。A.数据传输全程需要CPU参与控制B.外设与主存之间直接传输数据,无需CPU频繁干预C.通过软件轮询判断传输完成状态D.每次传输1字节就触发一次中断答案B解析DMA方式下,数据传输由DMA控制器控制,在外设和主存之间直接建立数据通路,仅在传输开始和结束时需要CPU介入,适合大批量高速数据传输。8.浮点数表示格式为,其中决定浮点数可表示数值范围的是()。A.尾数M的位数B.阶码E的位数C.基数RD.数符位长度答案B解析阶码的位数决定浮点数的表示范围,尾数的位数决定浮点数的表示精度。9.中断向量存放的是()。A.中断源的设备编号B.中断服务程序的入口地址C.中断的优先级D.中断触发方式答案B10.某串联系统由3个独立部件组成,各部件的可靠度分别为0.9、0.9、0.9,则该系统的可靠度为()。A.0.9B.0.729C.0.999D.0.81答案B解析串联系统的可靠度为所有部件可靠度的乘积,即0.9×11.进程从运行态转换为就绪态的典型触发原因是()。A.等待I/O操作完成B.分配的时间片用完C.I/O操作完成D.进程被调度程序选中答案B解析运行进程时间片用完后回到就绪态等待下次调度;等待I/O时进入阻塞态;I/O完成后从阻塞态进入就绪态。12.某整型信号量S初始值为3,经过10次P操作、6次V操作后,S的值为()。A.-1B.1C.0D.3答案A解析P操作使信号量值减1,V操作使信号量值加1,计算得3−13.某系统有3个并发进程,均需要同类资源4个,当系统提供的资源数至少为()时,不会发生死锁。A.9B.10C.12D.13答案B解析死锁发生的极端场景是每个进程都持有最大需求数减1个资源,此时额外提供1个资源即可保证至少1个进程执行完成释放资源,即3×14.页式存储管理中,页表的核心作用是()。A.记录逻辑页号到物理块号的映射关系B.存储页面的访问权限信息C.实现虚拟存储的页面置换算法D.暂存页面的读写内容答案A15.某进程页面访问序列为1、2、3、4、1、2、5、1、2、3、4、5,系统为其分配3个物理块,采用LRU页面置换算法,缺页次数为()。A.7B.8C.9D.10答案D解析按最近最久未使用规则逐次模拟页面调入与置换,共发生10次缺页。16.某文件系统采用混合索引结构,索引节点包含10个直接地址项、1个一级间接地址项、1个二级间接地址项,每个盘块大小为4KB,每个盘块号占4字节,则单个文件的最大长度为()。A.40KBB.4MB+40KBC.4GB+4MB+40KBD.4GB+40KB答案C解析直接地址可覆盖10×4KB=40K17.SPOOLing假脱机技术的核心是利用()模拟独占设备,将独占设备改造为共享设备。A.内存分区B.磁盘上的输入/输出井C.Cache缓存D.CPU寄存器答案B18.作业调度算法中,优先选择预计运行时间最短的作业进入内存执行的算法是()。A.先来先服务算法B.短作业优先算法C.高响应比优先算法D.时间片轮转算法答案B19.下列关于解释程序的描述,正确的是()。A.先生成独立的目标代码再执行B.逐行分析源代码并直接执行,不生成独立目标程序C.执行效率高于编译型程序D.需要经过链接阶段生成可执行文件答案B20.下列程序设计语言中,属于逻辑式程序设计语言的是()。A.CB.JavaC.PrologD.Lisp答案C解析Prolog是典型的逻辑式程序设计语言,Lisp是函数式程序设计语言,C、Java是命令式/面向对象程序设计语言。21.编译过程中,语法分析阶段的主要任务是()。A.从源代码中识别出单词、符号等词法单元B.根据语言文法规则,分析程序的语法结构是否合法C.进行类型检查与语义合法性验证D.生成可执行的目标代码答案B解析词法分析识别单词,语法分析构建语法树验证结构合法性,语义分析进行类型检查,代码生成阶段输出目标代码。22.函数调用时,若将实参的地址传递给形参,函数内对形参的修改会直接影响实参的值,该参数传递方式是()。A.传值调用B.传引用调用C.传名调用D.宏替换答案B23.正规式所能表示的字符串集合是()。A.所有由a、b组成、以b结尾的字符串B.所有包含字符b的a、b字符串C.所有以b开头的a、b字符串D.所有长度为偶数的a、b字符串答案A24.若元素入栈序列为1、2、3、4、5,则下列不可能出现的出栈序列是()。A.2、3、4、1、5B.5、4、3、2、1C.3、1、2、4、5D.2、1、5、4、3答案C解析当元素3出栈时,栈内剩余元素为1、2,且2在栈顶,不可能先于2出栈,因此3、1、2的出栈顺序不合法。25.采用数组实现的循环队列容量为n,队头指针front指向队头元素,队尾指针rear指向队尾元素的下一个位置,牺牲一个存储单元区分队空和队满,则队满的判定条件是()。A.(B.rC.rD.f答案A26.字符串"software"(长度为8)包含空串和自身在内的所有前缀个数为()。A.7B.8C.9D.15答案C解析字符串前缀指前k个字符组成的子串,k从0(空串)到字符串长度,共8+1=9个。27.已知一棵二叉树的前序遍历序列为ABDECF,中序遍历序列为DBEAFC,则其后序遍历序列为()。A.DEBFCAB.DBEFCAC.DEBCFAD.BDEFCA答案A解析通过前序确定根节点,中序划分左右子树,递归还原二叉树结构后,后序遍历结果为DEBFCA。28.一棵具有1001个节点的完全二叉树,其叶子节点的个数为()。A.499B.500C.501D.502答案C解析完全二叉树中度为1的节点数只能是0或1,根据二叉树性质n0=n2+1,总节点数29.n个顶点的无向连通图,包含的最少边数为()。A.nB.n-1C.nD.2n答案B解析n个顶点的生成树是边数最少的连通图,恰好包含n-1条边。30.迪杰斯特拉(Dijkstra)算法用于求解图的()问题。A.拓扑排序B.单源最短路径C.所有顶点对最短路径D.最小生成树答案B解析Dijkstra算法求解单源点到其他所有顶点的最短路径;Floyd算法求解所有顶点对最短路径;Prim、Kruskal算法求解最小生成树。31.下列排序算法中,最坏情况下时间复杂度为的是()。A.快速排序B.冒泡排序C.堆排序D.直接插入排序答案C解析快速排序最坏情况时间复杂度为O(n2),冒泡排序、直接插入排序最坏情况均为32.下列哈希表冲突解决方法中,不属于开放定址法的是()。A.线性探测法B.二次探测法C.链地址法D.伪随机探测法答案C解析链地址法将所有同义词存储在同一个链表中,不属于开放定址法范畴。33.分数背包问题(物品可分割为任意重量)中,能得到最优解的算法策略是()。A.贪心算法B.动态规划C.回溯法D.分治法答案A解析分数背包可通过优先选择单位重量价值最高的物品(贪心策略)得到最优解;0-1背包需要用动态规划求解。34.有序顺序表上的折半查找算法,平均查找长度的时间复杂度为()。A.OB.OC.OD.O答案C35.数据库三级模式结构中,描述数据物理存储结构与存储方式的是()。A.外模式B.模式C.内模式D.视图答案C解析内模式对应物理级存储,模式对应全局逻辑结构,外模式对应用户级视图。36.关系代数中,自然连接对两个关系公共属性的处理方式是()。A.仅保留左关系的公共属性列B.仅保留右关系的公共属性列C.去掉重复的公共属性列,保留一列D.保留所有属性列,包括重复的公共属性答案C37.SQL语句中,用于删除表中数据但保留表结构的语句是()。A.DROPB.DELETEC.ALTERD.CREATE答案B解析DROP语句删除表结构与全部数据;DELETE仅删除表中数据,保留表定义;ALTER用于修改表结构;CREATE用于创建数据库对象。38.某关系模式R(A,B,C,D),函数依赖集,则R最高满足()。A.1NFB.2NFC.3NFD.BCNF答案B解析该关系的主键为A,所有非主属性完全依赖于主键,满足2NF;但存在非主属性对主键的传递函数依赖(A→B→C→D),不满足3NF。39.事务ACID特性中,指事务一旦提交,对数据的修改永久生效、不会因系统故障丢失的是()。A.原子性B.一致性C.隔离性D.持久性答案D40.并发控制中,若事务T对数据对象A加上排他锁(X锁),则()。A.仅T可以读取A,其他事务可以修改AB.仅T可以读取和修改A,其他事务不能对A加任何锁C.T不能修改A,只能读取AD.其他事务可以对A加共享锁读取A答案B解析排他锁保证事务对数据的独占读写权限,其他事务在锁释放前不能加任何类型的锁。41.OSI七层参考模型中,负责端到端可靠传输、流量控制与差错恢复的层次是()。A.网络层B.传输层C.会话层D.数据链路层答案B解析传输层为应用进程提供端到端的通信服务;网络层负责点到点的路由选择与分组转发。42.下列TCP/IP协议中,属于应用层协议的是()。A.TCPB.IPC.HTTPD.ARP答案C解析HTTP是Web服务的应用层协议;TCP是传输层协议;IP、ARP是网络层协议。43.某主机IP地址为00,子网掩码为92,则该主机所在的网络地址为()。A.B.4C.28D.92答案B解析将IP地址与子网掩码做按位与运算,100(二进制01100100)与192(二进制11000000)与运算结果为64,故网络地址为4。44.DNS域名系统的核心功能是()。A.将IP地址转换为MAC地址B.将域名解析为对应的IP地址C.为主机自动分配IP地址D.实现远程终端登录答案B解析ARP协议实现IP到MAC地址转换;DHCP协议自动分配IP地址;Telnet/SSH实现远程登录。45.HTTP协议默认使用的服务端口是()。A.21B.22C.80D.443答案C解析FTP默认端口21,SSH默认端口22,HTTPS默认端口443,HTTP默认端口80。46.下列网络攻击行为中,属于主动攻击的是()。A.网络窃听B.流量分析C.拒绝服务攻击(DoS)D.非法截获传输数据答案C解析主动攻击包含篡改、伪造、中断服务等行为;窃听、流量分析、截获数据属于被动攻击。47.下列加密算法中,属于非对称公钥加密算法的是()。A.AESB.DESC.RSAD.RC5答案C解析RSA是典型的非对称加密算法,使用公钥加密、私钥解密;AES、DES、RC5均为对称加密算法。48.MD5报文摘要算法生成的摘要长度为()。A.64位B.128位C.256位D.512位答案B49.数字签名的实现方式通常是()。A.发送方用自身私钥对报文摘要加密B.发送方用自身公钥对报文摘要加密C.接收方用自身私钥对原文加密D.接收方用自身公钥对原文加密答案A解析数字签名使用发送方私钥加密摘要,接收方用发送方公钥验证,保证消息的完整性与发送方不可否认性。50.下列关于防火墙的描述,错误的是()。A.防火墙可以过滤外部网络对内部网络的非法访问B.防火墙通常部署在网络边界位置C.防火墙无法防范来自内部网络的攻击D.防火墙可以阻止所有病毒和恶意代码传播答案D51.软件生命周期中,持续时间最长、成本占比最高的阶段是()。A.需求分析B.软件设计C.编码实现D.运行维护答案D52.下列软件开发模型中,采用线性顺序流程、适合需求明确且变更较少项目的是()。A.瀑布模型B.增量模型C.螺旋模型D.敏捷开发答案A53.需求分析阶段输出的核心文档是()。A.软件需求规格说明书B.概要设计说明书C.详细设计说明书D.测试计划答案A54.下列模块内聚类型中,内聚度最高的是()。A.偶然内聚B.逻辑内聚C.功能内聚D.通信内聚答案C解析内聚度从低到高依次为:偶然内聚<逻辑内聚<时间内聚<过程内聚<通信内聚<顺序内聚<功能内聚,功能内聚指模块所有元素共同完成单一完整功能,内聚度最高。55.下列模块耦合类型中,耦合度最低的是()。A.内容耦合B.公共耦合C.数据耦合D.控制耦合答案C解析耦合度从高到低依次为:内容耦合>公共耦合>控制耦合>标记耦合>数据耦合,数据耦合指模块间仅通过简单数据参数传递信息,耦合度最低。56.白盒测试法中,覆盖强度最高的测试标准是()。A.语句覆盖B.判定覆盖C.路径覆盖D.条件覆盖答案C解析路径覆盖设计测试用例覆盖程序中所有可能的执行路径,是最强的白盒覆盖标准。57.软件编码完成后,首先开展的测试活动是()。A.单元测试B.集成测试C.系统测试D.验收测试答案A解析测试流程顺序为单元测试->集成测试->系统测试->验收测试。58.软件交付使用后,为适配新的操作系统版本、硬件平台变化而进行的维护属于()。A.改正性维护B.适应性维护C.完善性维护D.预防性维护答案B解析改正性维护修复遗留缺陷;适应性维护使软件适配运行环境变化;完善性维护新增功能、优化性能;预防性维护为未来可维护性提前重构优化。59.某程序控制流图共有12条边、9个节点,根据McCabe度量法,其环路复杂度为()。A.3B.4C.5D.6答案C解析环路复杂度计算公式为V(G)60.ISO/IEC9126软件质量模型中,软件在规定时间、规定条件下维持正常性能水平的能力属于()质量特性。A.功能性B.可靠性C.易用性D.效率答案B61.面向对象技术中,子类可以重新定义父类已有方法、同一方法在不同子类中具有不同实现的特性称为()。A.封装B.继承C.多态D.抽象答案C62.UML中,用于描述类、接口、协作及其之间静态关系的结构图是()。A.用例图B.类图C.顺序图D.状态图答案B63.若类A的某个方法使用类B的对象作为参数,类A和类B之间的UML关系是()。A.关联B.依赖C.泛化D.实现答案B解析依赖是一种临时的使用关系,通常表现为方法参数、局部变量引用;关联是长期的持有关系,通常表现为成员变量。64.下列设计模式中,属于创建型模式、保证一个类仅有一个实例并提供全局访问点的是()。A.工厂方法模式B.单例模式C.观察者模式D.策略模式答案B65.策略模式的核心设计目的是()。A.将可互换的算法封装为独立类,使算法变化独立于使用算法的客户端B.定义对象间一对多依赖关系,对象状态变化时自动通知所有依赖者C.动态地为对象附加额外的职责D.为复杂子系统提供统一的高层访问接口答案A解析B是观察者模式的目的,C是装饰器模式的目的,D是外观模式的目的。66.面向对象设计原则中,要求一个类应该仅有一个引起它变化的原因的原则是()。A.开闭原则B.单一职责原则C.里氏替换原则D.依赖倒置原则答案B67.下列选项中,不属于UML用例之间关系的是()。A.包含(include)B.扩展(extend)C.泛化D.关联答案D解析关联是参与者与用例之间的关系,不是用例之间的关系。68.甘特图(Gantt)的主要特点是()。A.清晰展示任务之间的依赖关系B.直观展示任务的时间跨度与进度安排C.可直接用于关键路径计算D.可定量分析项目风险答案B解析甘特图以条形图展示任务的时间安排,但无法清晰表示任务依赖关系,不支持关键路径分析。69.根据我国《计算机软件保护条例》,自然人开发的软件,著作权保护期限为()。A.25年B.50年C.自然人终生及其死亡后50年D.永久保护答案C70.根据我国专利法,两个以上申请人分别就同样的发明创造申请专利的,专利权授予()。A.最先完成发明的人B.最先提出申请的人C.最先将发明投入商用的人D.由所有申请人共有答案B71.Insoftwareengineering,()isaniterativedevelopmentmethodologythatemphasizesadaptiveplanning,rapiddelivery,andflexibleresponsetorequirementchanges.A.WaterfallmodelB.AgiledevelopmentC.SpiralmodelD.V-model答案B72.()testingisperformedaftersoftwaremodificationtoensurethatthechangeshavenotintroducednewdefectsandexistingfunctionsremainworkingcorrectly.A.UnitB.IntegrationC.RegressionD.Acceptance答案C73.Inobject-orientedprogramming,()allowsaclasstoinheritattributesandmethodsfrommorethanoneparentclass.A.singleinheritanceB.multipleinheritanceC.encapsulationD.polymorphism答案B74.Inrelationaldatabases,a()isastructuredcollectionofdataorganizedinrowsandcolumns,withadefinedsetofattributes.A.tableB.viewC.indexD.trigger答案A75.Anetwork()isasetofrulesthatdefinestheformat,order,anderrorhandlingofdatatransmittedbetweenconnecteddevices.A.operatingsystemB.protocolC.programminglanguageD.database答案B二、案例分析题(共75分)本部分共6道题,试题1至试题4为必答题,考生必须全部作答;试题5、试题6为选答题(C++方向、Java方向任选1题作答,若两题均作答,仅按试题5成绩计分),每题15分。试题1(结构化分析与数据流图,15分)某图书馆拟开发在线图书借阅管理系统,主要功能如下:1.用户管理:管理员可新增、修改、删除读者账号;读者可注册账号、维护个人信息。2.图书管理:管理员可录入新书信息、更新库存、下架旧书;读者可检索图书馆藏信息。3.借阅管理:读者提交借阅申请,系统验证读者资格(无逾期记录、未达借阅数量上限),验证通过后生成借阅记录、扣减图书库存;读者归还图书时,系统更新借阅记录、计算逾期费用(若产生)。4.通知提醒:借阅到期前3天,系统调用邮件服务向读者发送还书提醒;图书逾期后发送催还通知。结构化分析阶段绘制的顶层DFD与0层DFD存在部分缺失元素。####问题1.(6分)根据系统功能说明,列出顶层DFD中缺失的3个外部实体。2.(6分)根据系统功能说明,列出0层DFD中缺失的3个核心数据存储。3.(3分)简述数据流图中加工的“数据守恒”原则。####答案1.外部实体(每个2分,共6分):(1)读者(2)管理员(3)邮件服务系统2.数据存储(每个2分,共6分):(1)读者信息表(存储读者账号、状态信息)(2)图书信息表(存储图书元数据、库存信息)(3)借阅记录表(存储借阅、归还、费用信息)3.数据守恒原则(3分):加工的所有输出数据流必须能从输入数据流中获得,或由加工逻辑合法产生;每个加工必须同时具备输入数据流和输出数据流,无输入的加工称为“奇迹”,无输出的加工称为“黑洞”,均为DFD设计错误。---试题2(数据库设计,15分)某社区电商平台需要设计配送管理模块数据库,需求如下:1.平台设有多个配送站点,每个站点包含站点ID、名称、地址、负责人、联系电话属性;每个站点管理多名配送员,每名配送员仅归属一个站点。2.配送员属性包括配送员ID、姓名、手机号、入职时间。3.用户下单后生成订单,订单属性包括订单ID、用户ID、收货地址、联系电话、下单时间、订单金额、配送状态;每个订单由一名配送员负责配送,一名配送员可承接多个订单。4.每个订单包含多种商品,商品属性包括商品ID、名称、单价、重量;每个订单中的商品对应购买数量。####问题1.(4分)指出配送站点与配送员、配送员与订单、订单与商品之间的联系类型(1:1、1:n、m:n)。2.(7分)补全下列关系模式的空缺部分,并指出每个关系的主键与外键:(1)配送站点(站点ID,站点名称,地址,负责人,联系电话)(2)配送员(配送员ID,姓名,手机号,入职时间,__(a)__)(3)订单(订单ID,用户ID,收货地址,联系电话,下单时间,订单金额,配送状态,__(b)__)(4)订单明细(__(c)__,购买数量)(5)商品(商品ID,商品名称,单价,重量)3.(4分)若需要记录配送员变更历史(包含原配送员、新配送员、变更时间、变更原因),请设计“配送变更记录”关系模式,写出其属性与主键。####答案1.联系类型(4分):•配送站点与配送员:1:n•配送员与订单:1:n•订单与商品:m:n2.关系模式补全(7分):(a)站点ID(2分)(b)配送员ID(2分)(c)订单ID,商品ID(3分)主键与外键:•配送员:主键为配送员ID,外键为站点ID,参照配送站点的站点ID•订单:主键为订单ID,外键为配送员ID,参照配送员的配送员ID•订单明细:主键为(订单ID,商品ID),外键订单ID参照订单的订单ID,外键商品ID参照商品的商品ID3.配送变更记录关系模式(4分):配送变更记录(变更ID,订单ID,原配送员ID,新配送员ID,变更时间,变更原因)主键为变更ID;外键包含订单ID(参照订单的订单ID)、原配送员ID与新配送员ID(参照配送员的配送员ID)。---试题3(UML与面向对象设计,15分)某智能家居控制系统支持灯光、空调、窗帘、智能门锁等设备的统一管理,用户可通过手机APP配置场景模式(回家、离家、睡眠、观影),触发场景时系统自动执行对应设备操作,例如回家模式自动打开客厅灯光、开启空调、拉开窗帘;离家模式自动关闭所有家电、闭合窗帘、落锁。系统面向对象设计的核心类如下:SmartHomeSystem:系统主类,管理所有设备与场景Device:抽象设备类,包含设备ID、名称、位置属性,定义抽象方法open()、close()Light/AirConditioner/Curtain/DoorLock:具体设备类,继承Device并实现设备控制方法Scene:抽象场景类,包含场景名称属性,定义抽象方法activate()触发场景HomeScene/AwayScene/SleepScene:具体场景类,继承Scene实现场景逻辑User:用户类,支持配置场景、手动触发场景问题1.(5分)指出Device类与具体设备类、Scene类与具体场景类、SmartHomeSystem类与Device类之间的UML关系。2.(6分)若需支持用户自定义场景,用户可自由添加场景触发时需要执行的设备操作,系统拟采用命令(Command)模式实现该需求,请说明Command模式的分类(创建型/结构型/行为型)、核心作用,以及Scene类与命令对象之间的关系。3.(4分)若系统需要实现设备状态异常时主动向用户推送告警(如门锁异常开启时推送通知),适合采用哪种设计模式?简述该模式的核心特点。####答案1.UML关系(5分):•Device与具体设备类:泛化(继承)关系(2分)•Scene与具体场景类:泛化(继承)关系(1分)•SmartHomeSystem与Device:聚合/组合关系,属于整体-部分关系,系统包含多个设备实例(2分)2mand模式相关(6分):Command模式属于行为型设计模式(2分)。核心作用是将请求封装为独立对象,解耦请求发送者与接收者,支持请求的参数化、排队、日志记录与撤销操作(2分)。Scene类与命令对象之间是聚合关系,一个场景可包含多个命令对象,触发场景时依次执行命令(2分)。3.设计模式选择(4分):适合采用观察者模式(2分)。核心特点是定义对象间一对多的依赖关系,当主题对象(设备)状态变化时,所有注册的观察者(通知模块、用户端)自动收到通知并执行更新操作,实现主题与观察者的解耦(2分)。---试题4(算法设计,15分)最长严格递增子序列(LIS)问题:给定长度为n的整数数组,找到其中最长的严格递增子序列长度。子序列为数组中元素保持原有顺序、无需连续的子集,例如数组[10,9,2,5,3,7,101,18]的最长递增子序列长度为4。以下为动态规划方法求解该问题的C语言代码,请补全空缺并回答问题:include<stdio.h>include<stdlib.h>intlengthOfLIS(int*nums,intn){if(n==0)return0;int*dp=(int*)malloc(sizeof(int)*n);intmaxLen=1;for(inti=0;i<n;i++){dp[i]=____(1)____;for(intj=0;j<i;j++){if(____(2)____){if(dp[j]+1>dp[i]){dp[i]=dp[j]+1;}}}if(____(3)____){maxLen=dp[i];}}free(dp);returnmaxLen;}问题1.(9分)补全代码中空缺(1)(2)(3)。2.(3分)上述动态规划算法的时间复杂度是多少?3.(3分)若采用贪心+二分查找的优化算法求解LIS问题,时间复杂度可优化为多少?####答案1.代码补全(每空3分,共9分):(1)1:每个元素自身可构成长度为1的递增子序列(2)nums[j]<nums[i]:当j位置元素小于i位置元素时,i位置元素可接在j对应的子序列后(3)dp[i]>maxLen:若以i结尾的子序列长度超过当前最大值,则更新全局最大值2.时间复杂度(3分):算法包含两层嵌套循环,时间复杂度为。3.优化后时间复杂度(3分):贪心+二分方法维护长度为k的递增子序列的最小末尾元素,每次通过二分查找定位插入位置,时间复杂度为。---试题5(C++程序设计,选答题,15分)某电商平台需实现订单结算的折扣计算功能,不同用户等级享受不同折扣:普通用户无折扣,普通会员9折,超级会员8折,大促期间可动态切换满减、优惠券等优惠策略。系统采用策略模式实现折扣逻辑,C++代码如下,请补全空缺:include<iostream>usingnamespacestd;classDiscountStrategy{public:____(1)____doublecalculate(doubleoriginalPrice)=0;virtual~DiscountStrategy(){}};classNormalStrategy:publicDiscountStrategy{public:doublecalculate(doubleoriginalPrice)override{returnoriginalPrice;}};classMemberStrategy:publicDiscountStrategy{public:doublecalculate(doubleoriginalPrice)override{returnoriginalPrice*0.9;}};classSuperMemberStrategy:publicDiscountStrategy{public:doublecalculate(doubleoriginalPrice)override{returnoriginalPrice*0.8;}};classOrder{private:doubleprice;____(2)____;public:Order(doublep,DiscountStrategy*s):price(p),strategy(s){}voidsetStrategy(DiscountStrategy*s){strategy=s;}doublecheckOut(){return____(3)____;}};intmain(){NormalStrategynormal;MemberStrategymember;SuperMemberStrategysuperVip;Ordero(100,&normal);cout<<o.checkOut()<<endl;o.setStrategy(&member);cout<<o.checkOut()<<endl;o.setStrategy(&superVip);cout<<o.checkOut()<<endl;return0;}问题补全代码中(1)(2)(3)处的空缺。答案(每空5分,共15分)(1)virtual:抽象基类中定义纯虚函数需要virtual关键字修饰,实现多态。(2)DiscountStrategy*strategy:订单类
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年餐具集中消毒单位监管考试试卷试题及答案
- 预防和治疗高脂血症的药物及其用途
- 入职水务集团思想报告2026(3篇)
- 课时16 气旋、反气旋与天气 课时作业
- 托福听力常见试题及答案梳理
- 《钳工实训(中级)》课件 项目十 研磨
- 高质量注会模拟试题及答案集
- 眼底疾病微创手术治疗技术
- 2025年医学分析-对内科急诊治疗中的抗生素临床应用及现状分析
- 2026中级注册安全工程师之安全生产法及相关法律知识高分题库及答案
- 术中获得性压力性损伤预防
- 新学期开笔礼
- 气道净化护理
- 大学竞选班干部自荐信
- GB/T 15231-2023玻璃纤维增强水泥性能试验方法
- 漳州市医疗保险参保人员门诊特殊病种申请表
- 混凝土浇灌证明1
- 安规考试题库
- 预防跌倒健康教育ppt
- GB/T 19363.1-2022翻译服务第1部分:笔译服务要求
- SB/T 10530-2009商务领域射频识别标签数据格式
评论
0/150
提交评论