软件设计师考试18年上半年上午考试真题及解析(四)
16.某集团公司下属有多个超市,每个超市的所有销售数据最终要存入公司的数据仓库中。假设该公司高管需要从时间,地区和商品种类三个维度来分析某家店商品的销售数据,那么最适合采用(56)来完成。
选项:
A.Data Extraction B.OLAP C.OLTP D.ETL
答案:B
解析:
Data Extraction:数据抽取;
联机分析处理OLAP是一种软件技术,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的。它具有FASMI(Fast Analysis of Shared Multidimensional Information),即共享多维信息的快速分析的特征。其中F是快速性(Fast),指系统能在数秒内对用户的多数分析要求做出反应;A是可分析性(Analysis),指用户无需编程就可以定义新的专门计算,将其作为分析的一部 分,并以用户所希望的方式给出报告;M是多维性(Multi—dimensional),指提供对数据分析的多维视图和分析;I是信息性(Information),指能及时获得信息,并且管理大容量信息。
On-Line Transaction Processing联机事务处理过程(OLTP)也称为面向交易的处理过程,其基本特征是前台接收的用户数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果,是对用户操作快速响应的方式之一。
ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)、交互转换(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于数据仓库。
ETL是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。
17.对下面的二叉树进行顺序存储(用数组MEM表示),已知结点A,B,C在MEM中对应元素的下标分别为1,2,3,那么结点D,E,F对应的数组元素下标为(59)
选项:
A.4,5,6 B.4,7,10 C.6,7,8 D.6,7,14
答案:D
解析:
顺序存储二叉树就是先把二叉树填满成完全二叉树。
18.用哈希表存储元素时,需要进行冲突(碰撞)处理,冲突是指(60)
选项:
A.关键字被依次映射到地址编号连续的存储位置
B.关键字不同的元素被映射到相同的存储位置
C.关键字相同的元素被映射到不同的存储位置
D.关键字被映射到哈希表之外的位置
答案:B
解析:
hash冲突是指当关键词集合很大时,关键词不同的元素可能映射到hash表中相同的位置上,及k1!=k2但f(k1)=f(k2),这种现象被称为hash冲突,hash冲突无法杜绝,只能通过改进优化其性能来减小冲突。
19.现需要申请一些场地举办一批活动,每个活动有开始时间和结束时间。在同一个场地,如果一个活动结束之前,另一个活动开始,即两个活动冲突。若活动A从1时间开始,5时间结束,活动B从5时间开始,8时间结束,则活动A和B不冲突。现要计算n个活动需要的最少场地数。
求解该问题的基本思路如下(假设需要场地数为m,活动数为n,场地集合为P1,P2,...,Pm),初始条件Pi均无活动安排:
(1)采用快速排序算法对n个活动的开始时间从小到大排序,得到活动a1,a2,...,an。对每个活动ai,i从1到n,重复步骤(2),(3),(4);
(2)从P1开始,判断ai与P1的最后一个活动是否冲突,若冲突,考虑下一个场地P2,...;
(3)一旦发现ai与某个Pj的最后一个活动不冲突,则将ai安排到Pj,考虑下一个活动;
(4)若ai与所有已安排活动的Pj的最后一个活动均冲突,则将ai安排到一个新的场地,考虑下一个活动;
(5)将n减去没有安排活动的场地数即可得到所用的最少场地数。
算法首先采用快速排序算法进行排序,其算法设计策略是(62);后面步骤采用的算法设计策略是(63)。整个算法的时间复杂度是(64)。下表给出了n=11的活动集合,根据上述算法,得到最少的场地数为(65)。
选项:
(62)A.分治 B.动态规划 C.贪心 D.回溯
(63)A.分治 B.动态规划 C.贪心 D.回溯
(64)A. Θ(lgn) B. Θ(n) C. Θ(nlgn) D. Θ(n2)
(65)A.4 B.5 C.6 D.7
答案:A,C,C,B
解析:
分治法(归并排 序,最大子和段问题)基本思想:将一个难以直接解决的大问题分解成一些规模较小的相同问题,以便各个击破,分而治之。
如规模为n的问题可分解成k个子问题,1<k≤n,这些子问题互相独立且与原问题相同。分治法产生的子问题往往是原问题的较小规模。
步骤:
(1)分解:将原问题分解成一系列子问题。
(2)求解:递归地求解各个子问题。若子问题足够小,则直接求解。
(3)合并:将子问题的解合并成原问题的解。
动态规划法(0-1背包问题,最长公共子序列问题;寻找最优解)基本思想:将带求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。
经分解得到的子问题往往不是独立的,在过程当中,可以用一个表来记录所有已解决的子问题的答案,不管该子问题以后是否被用到,只要它被计算过,就将其结果填入表中。
步骤:
(1)找出最优解的性质,并刻画其结构特征;
(2)递归地定义最优解的值;
(3)以自底向上的方式计算出最优值;
(4)根据计算最优值时得到的信息,构造一个最优解。
贪心算法(活动选择,背包问题):当前每一步都是最优的,是当前最好的选择,但不一定是最优解。
回溯法(0-1背包,n皇后问题)。
20.下列网络互连设备中,属于物理层的是(66)。
选项:
A.交换机 B.中继器 C.路由器 D.网桥
答案:B
解析:
中继器只是简单的信号放大,属于物理层设备。交换机一般属于数据链路层,但然现在也有三层交换机是网络层,不过不特殊说明一般都是指数据链路层。路由器属于网络层。网桥和交换机类似。