2018年新疆大学软件学院838数据结构与软件工程之数据结构考研核心题库
● 摘要
一、单项选择题
1. 某计算机存储器按字节编址, 采用小端方式存放数据。假定编译器规定int 和short 型长度分别为32位和16位, 并且数据按边界对齐存储。某C 语言程序段如下:
若record 变量的首地址为0xC008, 则地址中内容及的地址分别为( )。 A. B. C. D.
【答案】D 。
32位整数a 需要占4个字节, 16位整数c 需要占2个字节, 而字符数据b 占一个字节。【解析】
a=273, 转换成十六进制是111H , 采用小端方式存放数据, 地址
边界对齐存储,
地址
中存放c 。
2. 将森林转换为对应的二叉树,若在二叉树中,结点u 是结点v 的父结点的父结点,则在原来的森林中,u 和v 可能具有的关系是( ).
(1)父子关系
(2)兄弟关系
(3)U的父结点与V 的父结点是兄弟关系
A. 只有(1)
B.(1)和(2)
C.(1)和(3)
d.(1)、(2)和(3)
【答案】B
【解析】首先,在二叉树中,若结点U 是结点v 的父结点的父结点,那么u 和v 的关系有如下4种情况: 中存放a ,
地址中的内容为11H 。由于数据按中存放b ,
地址中空闲,
地址
接下来,根据森林与二叉树的转换规则,将这4种情况还原成森林中结点的关系. 其中: 情况(1),在原来的森林中u 是v 的父结点的父结点;
情况(2),在森林中u 是v 的父结点;
情况(3),在森林中u 是v 的父结点的兄弟;
情况(4),在森林中u 与v 是兄弟关系.
由此可知,题目中的(1)、(2)是正确的.
3. 若对如下无向图进行遍历, 则下列选项中, 不是广度优先遍历序列的是( )
A.h , c , a , b , d , e , g , f
B.e , a , f , g , b , h , c , d
C.d , b , c , a , h , e , f , g
D.a , b , c , d , h , e , f , g
【答案】D
【解析】根据广度优先遍历的定义, 可知选项A 、B 、C 都为广度优先遍历, 而选项D 是深度优先遍历而不是广度优先遍历, 故答案为D 。
4. 哈希文件使用哈希函数将记录的关键字值计算转化为记录的存放地址,因为哈希函数是一对一的关系,则选择好的( )方法是哈希文件的关键。
A. 哈希函数
B. 除余法中的质数
C. 冲突处理
D. 哈希函数和冲突处理
【答案】D
【解析】哈希表是根据文件中关键字的特点设计一种哈希函数和处理冲突的方法将记录散列到存储设备上。
5. 在文件的索引节点中存放直接索引指针10个, 一级二级索引指针各1个, 磁盘块大小为1KB 。每个索引指针占4个字节。若某个文件的索引节点已在内存中, 到把该文件的偏移量(按字节编址) 为1234和307400处所在的磁盘块读入内存。需访问的磁盘块个数分别是( )。
A.1, 2
B.1, 3
C.2, 3
D.2, 4
【答案】B
【解析】文件的索引结点的直接索引指针有10个, 因此直接索引的偏移量范围是0〜2559, 一级索引的偏移量范围是2560〜65791, 二级索引访问的偏移量范围是65792〜45183907。偏移量1234可以通过直接索引得到在磁盘块的地址, 因此需要一次访问, 307400需要通过二级索引查找其在磁盘的位置, 需要分别访问存放二级索引的两个索引块以及对应的数据块。
6. 一棵哈夫曼树共有215个结点,对其进行哈夫曼编码,共能得到( )个不同的码字。
A.107
B.108
C.214
D.215
【答案】B
【解析】此题可转化为一棵哈夫曼树共有215个结点,共有多少叶子结点。又有n0=n2++l,所以215=n0+n2=2*n2+l ,n2=107,n0=108。也就是说若对其进行哈夫曼编码,共能得到108个码字。
7. 当在一个有序的顺序存储表上查找一个数据时,既可用折半查找,也可用顺序查找,但前者比后者的查找速度( )。
A. 必定快
B. 不一定
C. 在大部分情况下要快
D. 取决于表递增还是递减
【答案】C
【解析】对于有序顺序存储表折半查找的效率较高,但是不是所有情况下都是如此,比如要查找的元素就是第一个时,用顺序查找比它就快的多了。这类情况外折半都高于顺序查找。
8. 用海明码对长度为8位的数据进行检/纠错时, 若能纠正一位错, 则校验位数至少为( )
A.2
B.3
C.4
D.5
【答案】C
【解析】设校验位的位数为k , 数据位的位数为n , 根据海明码编码k 和n 应满足下述关系。