2023年5月软件设计师 模拟一 上午之二十一
摘要:对于【软件设计师】软考考试而言,试题无疑是最重要的学习资料之一。在软考备考过程中,吃透试题、掌握试题所考知识点、熟悉试题的出题思路,对我们提升分数的效果是最明显的,通过对试题的反复练习,还可以查漏补缺。今天,给大家带来【2023年5月软件设计师 模拟一 上午】部分试题的详解,一起来看看吧~1、设下三角矩阵(上三角部分的元素值都为0)A[0..n,0..n]如下所示,将该
1、设下三角矩阵(上三角部分的元素值都为0)A[0..n,0..n]如下所示,将该三角矩阵的所有非零元素(即行下标不小于列下标的元素)按行优先压缩存储在容量足够大的数组M[]中(下标从1开始),则元素A[i,j](0≤i≤n,j≤i)存储在数组M的(61)中。
A、
B、
C、
D、
答案:A
答题解析:
本题考查数组存储的基础知识。按行方式存储时,元素A[i,j]之前的元素个数为(1+2+…+i+j),由于数组M的下标从1开始,因此,存储A[i,j]的是M[1+2+…+i+j+1],即
2、(62)是由权值集合{8,5,6,2}构造的哈夫曼树(最优二叉树。
A、
B、
C、
D、
答案:C
答题解析:
本题考查二叉树应用知识。
构造最优二叉树的哈夫曼算法如下:
①根据给定的n个权值{W1,W2,...,Wn},构成n棵二叉树的集合F={T1,T2,...,Tn},其中每棵二叉树Ti中只有一个带权为Wi的根结点,其左右子树均空。
②在F中选取两棵权值最小的二叉树作为左、右子树构造一棵新的二叉树,置新构造二叉树的根结点的权值为其左、右子树根结点的权值之和。
③从F中删除这两棵树,同时将新得到的二叉树加入到F中。
重复②、③,直到F中只含一棵树时为止。这棵树便是最优二叉树(哈夫曼树)。
根据题中给出的权值集合,构造哈夫曼树的过程如下图所示。
3、迪杰斯特拉(Dijkstra)算法用于求解图上的单源点最短路径。该算法按路径长度递增次序产生最短路径,本质上说,该算法是一种基干(63)策略的算法。
A、分治
B、动态规划
C、贪心
D、回溯
答案:C
答题解析:
本题考查算法的设计策略。
单源点最短路径问题是指给定图G和源点v0,求从v0到图G中其余各项点的最短路径。迪杰斯特拉(Dijkstra)算法是一个求解单源点最短路径的经典算法,其思想是:把图中所有的顶点分成两个集合S和T,S集合开始时只包含顶点v0,T集合开始时包含图中除了顶点v0之外的所有顶点。凡是以v0为源点,已经确定了最短路径的终点并入S集合中,顶点集合T则是尚未确定最短路径的顶点集合。按各顶点与v0间最短路径长度递增的次序,逐个把T集合中的顶点加入到S集合中,使得从v0到S集合中各顶点的路径长度始终不大于从v0到T集合中各顶点的路径长度。该算法是以一种贪心的方式将T集合中的顶点加入到S集合中的,而且该贪心方法可以求得问题的最优解。
查看完整试题>>>
软考资料: 2024年软考论文范文> 软考考试核心重点难点汇总> 查看更多>
备考刷题:章节练习+每日一练> 软考历年试题+模拟题>查看更多>