数据结构类笔试题
数据结构类笔试题
一、选择题:15 分 共 10 题
1. 已知一个线性表(38,25,74,63,52,48),采用的散列函数为 Hash($Key)=$Key mod 7,将元素散列到表长为7的哈希表中存储。请选择后面两种冲突解决方法分别应用在该散列表上进行等概率成功查找的平均查找长度,拉链法 ,线性探测法 .
A. 1.0 B. 1.5 C. 1.7 D. 2.0 E. 2.3
F. 7/6 G. 4/3 H. 3/2
2. 需要将OS缓冲区的数据刷新到硬盘,可以调用的函数有(多选):
A.fflush() B. fsync() C. sync() D.writev()
3. 下面哪个shell语句不能打印出用户主目录的路径?
A. echo $HOME B. echo ~
C. echo `$HOME` D. echo $HOME
4. 最坏情况下,合并两个大小为n的已排序数组所需要的比较次数
A.2n B.2n-1 C.2n 1 D.2n-2
5. 一个B类网的子网掩码是255.255.240.0,这个子网能拥有的最大主机数是:
A. 240 B. 255 C.4094 D. 65534
6. 以下代码执行后,val的.值是___:
unsigned long val = 0;
char a = 048;
char b = 052;
val = b 8 | a;
A 20992 B 21064 C 72 D 0
7. 内存的速度远远高于磁盘速度,所以为了解决这个矛盾,可以采用:
A 并行技术 B 虚存技术 C 缓冲技术 D 通道技术
8. 以下代码打印的结果是(假设运行在i386系列计算机上):
struct st_t
{
int status;
short* pdata;
char errstr[32];
};
st_t st[16];
char* p = (char*)(st[2].errstr 32);
printf(%d, (p - (char*)(st)));
A 32 B 114
C 120 D 1112
9. 同一进程下的线程可以共享以下
A. stack B. data section
C. register set D. thread ID
10. 以下哪种操作最适合先进行排序处理?
A 找最大、最小值 B 计算算术平均值
C 找中间值 D 找出现次数最多的值
;