【单选题】搜索引擎会通过日志文件把用户每次检索使用的所有查询串都记录下来,每个查询串的长度不超过255字节。假设目前有一千万个查询记录(重复度比较高,其实互异的查询串不超过三百万个;显然,一个查询串的重复度越高,说明查询它的用户越多,也就是越热门)。现要统计最热门的10个查询串,且要求使用的内存不能超过1GB。以下各方法中,可行且效率最高的方法是(41)
A、将一千万个查询串存入数组并进行快速排序,再统计其中每个查询串重复的次数
B、将一千万个查询串存入数组并进行堆排序,再统计其中每个查询串重复的次数
C、利用哈希表保存所有的查询串并记下每个查询串的重复次数,再利用小根堆选出重复次数最多的10个查询串
D、利用哈希表保存所有的查询串并记下每个查询串的重复次数,再利用大根堆选出重复次数最多的10个查询串
答案:C
解析:本题考查数据结构应用知识。 快速排序和堆排序都属于内部排序方法,要求待排序的元素序列都放在内存。按最坏情况考虑,一千万个查询串需要的存储空I间为225千万字节,也就是2.25×1010)字节,远超过1GB(约等于109)的存储容量限制,所以选项A和B是不可行的。另外,即便不考虑存储容量限制,在只要求找出最大的10个元素时快速排序也是不适用的。 选项C和D的区别是利用大顶堆还是小顶堆。设想需要在1000个元素中找出10个最大元素,用小顶堆的思路是:先用前10个元素建个小顶堆(堆顶是最小元素),此后从第11个元素开始,顺序地将每个元素与堆顶元素比较,若小于或等于堆顶元素就舍弃之,若大于堆顶元素,则用该元素替换堆顶元素,并再次调整为小顶堆。重复该过程,直到最后一个元素处理完,那么,在小顶堆中留下的10个元素实际上就是这1000个元素中的前10大元素。 本问题中需要在兰百万个元素中按照重复次数找最大的10个元素,由于10个元素构成的小顶堆建立和调整时所花费的时间是个很小的常数c0,因此,釆用这种方式在n为三百万个元素时找出10个最大者的运算时间是线性阶的(大约为n+c0,c0是小整数)。反之,如果采用大顶堆,一种情况是建立10个元素构成的大顶堆,则在顺序地处理后面元素时,无法简单地确定需要替换该大顶堆中的哪个元素;另一种情况是建立由三百万个元素构成的大顶堆,在该数据量情况下,哈希表和大顶堆都在内存存储,可能会突破1GB的存储容量限制,而且建立初始大顶堆的运算时间(有可能是达到4n)以及后面9次调整大顶堆的时间(9logn)的时间都远多于前面的小顶堆方案。
【单选题】以下关于结构化开发方法的叙述中,不正确的是 ( ) 。
A、将数据流映射为软件系统的模块结构
B、一般情况下,数据流类型包括变换流型和事务流型
C、不同类型的数据流有不同的映射方法
D、一个软件系统只有一种数据流类型
答案:D
解析:结构化分析与设计方法是一种面向数据流的开发方法,它以数据流为中心构建软件的分析模型和设计模型。结构化设计是将结构化分析的结构(数据流图)映射成软件的体系结构(结构图)。根据信息流的特点,可将数据流图分为变换型数据流图和事务型数据流图,其对应的映射分别称为变换分析和事务分析。 在规模较大的实际系统中,其数据流图往往是变换型和事务型的混合结构,此时可以把变换分析与事务分析应用在同一数据流图的不同部分。
【单选题】系统测试计划应该在软件开发的 ( ) 阶段制定。
A、需求分析
B、概要设计
C、详细设计
D、系统测试
答案:A
解析:测试计划应该在需求分析阶段就开始制定,并在设计阶段细化和完善,而不是等系统编码完成后才制订测试计划。
【单选题】在关系代数运算中,( )运算结果的结构与原关系模式的结构相同。
A、并
B、投影
C、笛卡儿积
D、自然连接
答案:A
解析:本题考查数据库系统基本概念方面的基础知识。若关系R与S具有相同的关系模式,即关系R与S的结构相同,则关系R与S可以进行并、交、差运算
【单选题】在Windows系统中,当用户选择 C:\Documents\目录中的一个文件图标,并执行"剪切"命令后,被"剪切"的文件会放在 ( )中;若用户要浏览"图片收藏"文件夹中存放的图像文件的大致内容,则可选择"查看"菜单栏中的(请作答此空)命令。 A.回收站
A、剪贝占板
B、USB盘
C、
D、\Documents\
答案:B
解析:本题考查Windows系统基本操作。剪贴板是应用程序之间传递信息的媒介,用来临时存放被传递的信息。在应用程序之间传递信息时,从某个应用程序复制或剪切的信息被置于剪贴板上。传递到剪贴板的信息一直保存到退出Windows之前不会消失,用户可以随时将其内容粘贴到应用程序中并且可以反复使用其内容。当用户向剪贴板传递新的信息时,无论新的信息有多少都可能取代原有的信息,退出Windows后,剪贴板中的信息会全部消失。若要在应用程序间传递和交换信息,首先将要交换的信息存入剪贴板。方法是:先选中要传递的信息,然后使用编辑菜单中的剪切和复制命令或者快捷操作(Ctrl+X、Ctrl+C),将被选中的信息(文本,图形、图像、表格、文件等)送入剪贴板,也可以使用Alt+Print Screen组合键或Print Screen键将当前窗口或当前屏幕图像复制到剪贴板中。剪贴板中存入信息之后,在编辑菜单中的"粘贴"选项或"选择性粘贴"命令即被激活,由暗(淡灰)色变为亮(深)色。这时应先选定插入点,然后通过选择"粘贴"命令选项或者快捷操作(Ctrl+V),即可把剪贴板中的内容复制到指定的位置。如下图所示:
【单选题】某html文档中有如下代码,则在浏览器中打开该文档时显示为( )。 <form> List1: <inputtype="text"name="List1"/> <br/> LiSt2: <inputtype="text"name="List2"/> </form>
A、A
B、B
C、C
D、D
答案:A
解析:本题考查HTML语言中input标签的type属性。 在HTML语言中的input标签有多种属性,具体属性如下表所示: 题目中指定了type属性为"text",表示定义一个单行的输入字段,使用户可以在其中输入文本。据此,可在备选项中选择相应答案。
【单选题】以下关于统一过程UP的叙述中,不正确的是 ( ) 。
A、UP是以用例和风险为驱动,以架构为中心,迭代并且增量的开发过程
B、UP定义了四个阶段,即起始、精化、构建和确认阶段
C、每次迭代都包含计划、分析、设计、构造、集成、测试以及内部和外部发布
D、每个迭代有五个核心工作流
答案:B
解析:统一过程(UP)的基本特征是以用例和风险驱动,以架构为中心,受控的迭代式的增量开发。UP定义了四个阶段: 起始阶段(Inception):该阶段的主要目的是建立项目的范围和版本,确定项目目标的可行性和稳定性,提交结果包括需求和用例。 精化阶段(Elaboration):该阶段的目的是对问题域进行分析,建立系统需求和架构,确定实现的可行性和稳定性,提交结果包括系统架构、问题领域、修改后的需求及项目开发计划等相关文档。 构建阶段(Construction):增量式开发可以交付给用户的软件产品。 移交阶段(Transition):目的是将软件产品交付给用户。
【单选题】与XθY (即仅当X与Y不相同时,XθY的结果为真)等价的逻辑表达式为( )。
A、A
B、B
C、C
D、D
答案:D
解析:
【单选题】采用白盒测试方法对下图进行测试,设计了4个测试用例:①(x=0,y=3),②(x=1,y=2),③(x=-1,y=2),④(x=3,y=1)。至少需要测试用例①②才能完成 (请作答此空) 覆盖,至少需要测试用例①②③或①②④才能完成 ( ) 覆盖。
A、语句
B、条件
C、判定/条件
D、路径
答案:A
解析:语句覆盖要求被测程序中的每一条语句至少执行一次,这种覆盖对程序执行逻辑的覆盖很低。 条件覆盖要求每一判定语句中每个逻辑条件的各种可能的值至少满足一次。判定/条件覆盖要求判定中每个条件的所有可能取值(真/假)至少出现一次,并使得每个判定本身的判定结果(真/假)也至少出现一次。路径覆盖则要求覆盖被测程序中所有可能的路径。 通过测试用例①(x=0,y=3),能执行到语句A,同时覆盖左侧路径;通过测试用例②(x=1,y=2),能执行到语句B,同时覆盖右侧路径;通过测试用例③(x=-1,y=2)或④(x=3,y=1),什么也不执行,覆盖中间路径。
【单选题】某地空调市场被 A、B两个品牌占有,每个月的市场占有率分别用An和Bn表示,n=0,1,2,…。据调查,初始时A0=B0=0.5,以后,(An,Bn)=(An-1,Bn-1)M,n=1,2,…,其中M为转移概率矩阵: 据此,可以推算出,经过一段时间后,这两个品牌的市场占有率将分别趋于( )。
A、0,1
B、0.25,0.75
C、0.75,0.25
D、1,0
答案:D
解析:本题考查数学(矩阵运算)的应用能力。 根据(An,Bn)=(An-1,Bn-1)M,以及矩阵M的具体数值,可得 An=An-1+0.5Bn-1,Bn=0.5 Bn-1 因此,B1=0.5 B0=0.52,B2=0.5 B1=0.53,…,Bn=0.5n+1→0。 A1=A0+0.5 B0=0.5+0.52,A2=A1+0.5 B1=0.5+0.52+0.53,…,An→1。 从而,(An,Bn)→(1,0)。