1.(2分)对于多关键字而言,那种文件组织方便而又高效(B)
A、顺序文件 B、倒排文件 C、散列文件 D、B+树索引文件
解析:答案 B。
文件在外存上的基本的组织方式有四种:顺序组织,索引组织,散列组织和链组织;对应的的文件名称分别为:顺序文件、索引文件、散列文件和多关键字文件。选择哪一种文件组织方式,取决于对文件中记录的使用方式和频繁程度、存取要求、外存的性质和容量。
多关键字文件:包含有多个次关键字索引的文件称为多关键字文件。
倒排表的主要优点是:在处理复杂的多关键字查询时,可在倒排表中先完成查询的交、并等逻辑运算,得到结果后再对记录进行存取。这样不必对每个记录随机存取,把对记录的查询转换为地址集合的运算,从而提高查找速度。
4.(2分)以下关于可计算性的说法正确的是(D)
A、 所有问题最终都可以抽象为一个计算模型,图灵机可以在一个有限的时间(虽然可能会占用非常久的时间)内完成计算:现代计算机的设计正是基于该理论。
B、 存在部分问题,我们无法在有限时间内,给出解答:但是,所有问题都可以在有限时间内验证其解答的正确性。
C、 Godel(哥德尔)第一定律指明不存在完备且相容的公理系统。
D、 以上说法都不正确。
Godel(哥德尔)第一定律:任意一个包含一阶谓词逻辑与初等数论的形式系统,都存在一个命题,它在这个系统中既不能被证明也不能被否定。
5.(2分)16进制数值C396和8进制数值64474的异或结果值(10进制)为(A)
A、43690 B、16660 C、60350 D、20375
6.(2分)以下经典的问题哪些属于NP问题(A)
A、图灵停机问题 B、排序 C、0,1背包问题 D、枚举有限集合的所有子集
7.(2分)存在以下字母串:AGDCCDDDGFBBFFGGDDDGGGEFFDDCCCDDDFGAAA现在需要对该串进行Huffman编码,那么字母F对应bit值(二进制格式为)(D)
A、10 B、11 C、110 D、101
统计结果:A:4 B:2 C:5 D:12 E:1 F:6 G:8 然后按照huffman编码。
9.(2分)进程管理如果设计不当将会导致“死锁”的产生,对待死锁,典型的银行家算法属于(1),而剥夺资源属于(2)的方法。
A、(1)=死锁预防,(2)=死锁避免
B、(1)=死锁预防,(2)=死锁解除
C、(1)=死锁避免,(2)=死锁预防
D、(1)=死锁避免,(2)=死锁解除
解析:答案B
死锁: 是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。
系统产生死锁的四个必要条件:
1)互斥条件:指进程对所分配到的资源进行排它性使用,即在一段时间内某资源只由一个进程占用。如果此时还有其它进程请求资源,则请求者只能等待,直至占有资源的进程用毕释放。
2)请求和保持条件:指进程已经保持至少一个资源,但又提出了新的资源请求,而该资源已被其它进程占有,此时请求进程阻塞,但又对自己已获得的其它资源保持不放。
3)不剥夺条件:指进程已获得的资源,在未使用完之前,不能被剥夺,只能在使用完时由自己释放。
4)环路等待条件:指在发生死锁时,必然存在一个进程——资源的环形链,即进程集合{P0,P1,P2,···,Pn}中的P0正在等待一个P1占用的资源;P1正在等待P2占用的资源,……,Pn正在等待已被P0占用的资源。
银行家算法:我们可以把操作系统看作是银行家,操作系统管理的资源相当于银行家管理的资金,进程向操作系统请求分配资源相当于用户向银行家贷款。操作系统按照银行家制定的规则为进程分配资源,当进程首次申请资源时,要测试该进程对资源的最大需求量,如果系统现存的资源可以满足它的最大需求量则按当前的申请量分配资源,否则就推迟分配。当进程在执行中继续申请资源时,先测试该进程已占用的资源数与本次申请的资源数之和是否超过了该进程对资源的最大需求量。若超过则拒绝分配资源,若没有超过则再测试系统现存的资源能否满足该进程尚需的最大资源量,若能满足则按当前的申请量分配资源,否则也要推迟分配。
10.(2分)关于数据库索引,以下说法正确的是(D)
A、针对某些字段建立索引,能够有小减少相关数据库表的磁盘空间占用;
B、针对某些字段建立索引,能够有效的提升相关字段的读与写的效率;
C、常见数据库管理系统,通常使用hash表来存储索引;
D、数据库索引的存在,可能导致相关字段删除的效率降低;
解析:
A,毫无疑问,建索引肯定需要存储空间。 故错
B,建索引最初目的是提高查询性能,即读的性能,但是一定程度上会降低写的性能。举个反例,假设都能提高性能的话,那都建索引不就完事了。 故错
C,存储索引一般是用B*树。 故错
D,正解