2016年中国海洋大学信息科学与工程学院数据结构复试笔试仿真模拟题
● 摘要
一、选择题
1. 假定主存地址为32位,按字节编址,主存和Cache 之间采用直接映射方式,主存块大小为4个字,每字32位,采用回写(WriteBack )方式,则能存放4K 字数据的Cache 的总容量的位数至少是( )。
A.146k
B.147K
C.148K
D.158K
【答案】B
【解析】Cache 和主存直接映射方式的规则为:主存储器分为若干区,每个区与缓存容量相同;每个区分为若干数据块,每个块和缓存块容量相同;主存中某块只能映象到Cache 的一个特定的块中。本题中,Cache 总共存放4K 字数据,块大小为4个字,因此cache 被分为4K/4 = 1K 个块,由10位表示。块内共16字节,所以由4位表示,于是标记位为32-10-14= 18位。所以,Cache 的每一行需要包含所存的数据4个字,每个字32位,18位标记位和一个有效位,因此总容
=147K。 量为:
2. 在有向图G 的拓扑序列中,若顶点V i 在顶点V j 之前,则下列情形不可能出现的是( ) 。
A.G 中有弧
C.G 中没有弧 【答案】D 【解析】若想实现图的一个拓扑排序,需要满足的一个条件为:若顶点A 在序列中排在顶点B 的前面,则在图中不存在从顶点B 到顶点A 的路径。又因为若G 中有一条从V j 到V i 的路径,则在拓扑序列中V i 不可能在V j 前。 3. 若对n 阶对称矩阵A 以行序为主序方式将其下三角形的元素(包括主对角线上所有元素)依次存放于一维数组中,则在B 中确定 的位置k 的关系为( )。 【答案】B 【解析】将n 阶对称矩阵存人一维数组中,一维数组的大小需为 中,当 时,i 与k 的关系为 对n 阶对称矩阵A 以行序为主序方式将其下三角形的元素(包括主对角线上所有元素)依次存放于一维数组 4. 有一个的稀疏矩阵,非0元素有10个,设每个整型数占2字节,则用三元组表示该矩阵时,所需的字节数是( )。 A.60 B.66 C.18000 D.33 【答案】B 【解析】如果是全部, 则是需要 10个非零整数则是个字节;但是用三元组表示的话,只需要记录非零字节,数据的X 坐标,Y 坐标,数值即可,就是每个非零数字需要占用三个整数的空间,即字节;如果问有效元素占的空间大小,则选A 项,但是如果从整体来看,应该多一个用来记录矩阵宽(100)、高(90)、默认值(0)的元素,所以还应该多算6个字节。所以全部为66字节,选B 项。 5. 下列有关浮点数加减运算的叙述中,正确的是( )。 对阶操作不会引起阶码上溢或下溢 右规和尾数舍入都可能引起价码上溢 左规时可能引起阶码下溢 尾数溢出时结果不一定溢出 A. 仅 B. 仅 C. 仅 D. 【答案】D 【解析】浮点数的加减运算步骤包括:①对阶,使两个操作数的小数点位置对齐,阶码小的尾数右移,可能产生溢出,但是阶码不会溢出;②尾数求和,将对阶后的尾数按定点数加(减)运算规则运算;③规格化,包括左规和右规,左规时阶码减少,可能出现阶码下溢,而右规时,阶码増加可能出现阶码上溢;④舍入,该过程可能需要右规调整,因此可能出现阶码上溢;⑤溢出判断,浮点数的溢出与否是由阶码的符号决定的,而不是由尾数溢出判断的,因此尾数溢出时结果不一定溢出。因此均正确。 6. 排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一趟排序。下列排序方法中,每一趟排序结束时都至少能够确定一个元素最终位置的方法是( )。 I. 简单选择排序II. 希尔排序III. 快速排序IV . 堆排V. 二路归并排序 A. 仅 I 、III 、IV B. 仅 I 、II 、III C. 仅 II 、III 、IV D •仅III 、IV 、V 【答案】A 。 【解析】其中简单选择排序、堆排序属于选择类排序,每一趟排序结束时将确定最大(或最小)关键字所在的位置。快速排序每一趟排序结束时将确定基准关键字所在的位置。希尔排序、二路归并排序每一趟排序结束时不一定能确定一个元素的最终位置。 7. 设无向图的顶点个数为m 则该图最多有( )条边。 A.n-1 B.n (n-l )/2 C.n (n+l)/2 D.0 E.n2 【答案】B 【解析】在数据结构中仅讨论简单图,在计算无向图的最多边时,不考虑顶点与顶点的边。因此边数最多时,构成的是无向完全图。此时的边数为n (n-l )/2。 8. 对于栈操作数据的原则是( )。 A. 先进先出 B. 后进先出 C. 后进后出 D. 不分顺序 【答案】B 【解析】先进先出是队列操作数据的原则。先进后出是栈操作数据的原则,栈限定在表尾进行插入和删除。 9. 设与某资源相关联的信号量初值为3, 当前为1,若M 表示该资源的可用个数,N 表示等待该资源的进程数,则M ,N 分别是( )。 A.0、1 B.1、0 C.1、2 D.2、0 【答案】B 【解析】信号量初值是3表示资源数有3个,当前为1表示已经用掉2个,剩余可用的资源数就只有1个了,由于资源有剩余,可见没有其他进程等待使用该资源,故进程数为0。 10.下列关于进程和线程的叙述中,正确的是( )。 A. 不管系统是否支持线程,进程都是资源分配的基本单位 B. 线程是资源分配的基本单位,进程是调度的基本单位 C. 系统级线程和用户级线程的切换都需要内核的支持 D. 同一进程中的各个线程拥有各自不同的地址空间