判断题
1.将M个元素存入用长度为S的数组表示的散列表,则该表的装填因子为M/S。 (1分)
T | F |
---|
解析:哈希表装填因子定义为:α= 填入表中的元素个数/哈希表的长度。
2.在散列中,函数“插入”和“查找”具有同样的时间复杂度。 (1分)
T | F |
---|
解析:插入和查找具有同样的时间复杂度O(1)。
3.在散列表中,所谓同义词就是被不同散列函数映射到同一地址的两个元素。 (1分)
T | F |
---|
解析:映射到同一散列地址的关键字称为同义词。
4.采用平方探测冲突解决策略(hi(k)=(H(k)+i2)%11, 注意:不是±i2),将一批散列值均等于2的对象连续插入一个大小为11的散列表中,那么第4个对象一定位于下标为0的位置。 (2分)
T | F |
---|
解析:第一个地址为2,第二个为2+1,第三个为2+4,第四个为2+9,即下标为0。
5.若用平方探测法解决冲突,则插入新元素时,若散列表容量为质数,插入就一定可以成功。 (1分)
T | F |
---|
解析:可能会超出表容量,插入失败。
6.即使把2个元素散列到有100个单元的表中,仍然有可能发生冲突。 (1分)
T | F |
---|
解析:有可能散列到同一个地址上。
选择题
1.在散列表中,所谓同义词就是: (1分)
选项 | |
---|---|
A | 两个意义相近的单词 |
B | 具有相同散列地址的两个元素 |
C | 被映射到不同散列地址的一个元素 |
D | 被不同散列函数映射到同一地址的两个元素 |
解析:同义词为映射到同一散列地址的关键字。
2.在下列查找的方法中,平均查找长度与结点个数无关的查找方法是: (1分)
选项 | |
---|---|
A | 顺序查找 |
B | 二分法 |
C | 利用哈希(散列)表 |
D | 利用二叉搜索树 |
解析:哈希表查找时间复杂度为O(1)。
3.对包含N个元素的散列表进行查找,平均查找长度为: (1分)
选项 | |
---|---|
A | O(1) |
B | O(logN) |
C | O(N) |
D | 不确定 |
解析:一个良好的散列表,它的时间复杂度应当为O(1),但若发生冲突,那么它的时间复杂度是不能确定的。
4.若结点的存储地址与其关键字之间存在某种映射关系,则称这种存储结构为( )。 (2分)
选项 | |
---|---|
A | 顺序存储结构 |
B | 链式存储结构 |
C | 索引存储结构 |
D | 散列存储结构 |
解析:关键字-地址转换法为散列法。
5.将M个元素存入用长度为S的数组表示的散列表,则该表的装填因子为: (2分)
选项 | |
---|---|
A | S+M |
B | M−S |
C | M×S |
D | M/S |
解析:根据定义,装填因子 α \alpha α=M/S。
6.对哈希(HASH)函数H(k)= k MOD m, 一般来说,m应取 (2分)
选项 | |
---|---|
A | 素数 |
B | 很大的数 |
C | 偶数 |
D | 奇数 |
解析:取素数可以减少冲突。
7.一个哈希函数被认为是“好的”,如果它满足条件()。 (2分)
选项 | |
---|---|
A | 哈希地址分布均匀 |
B | 满足(B)和(C) |
C | 保证不产生冲突 |
D | 所有哈希地址在表长范围内 |
解析:哈希地址分布均匀,减少冲突。
8.散列函数有一个共同性质,即函数值应按() 取其值域的每一个值。 (2分)
选项 | |
---|---|
A | 最小概率 |
B | 最大概率 |
C | 平均概率 |
D | 同等概率 |
解析:散列函数应当是均匀分布的,所以应选同等概率。
9.下面关于哈希查找的说法正确的是()。 (2分)
选项 | |
---|---|
A | 不存在特别好的哈希函数,要视情况而定 |
B | 除留余数法是所有哈希函数中最好的 |
C | 哈希函数构造得越复杂越好,因为这样随机性好,冲突小 |
D | 若需在哈希表中删去一个元素,不管用何种方法解决冲突都只要简单的将该元素删去即可 |
解析:根据具体情况分析构造哈希函数。
10.哈希表的平均查找长度是()的函数。 (2分)
选项 | |
---|---|
A | 哈希表的长度 |
B | 哈希表的装填因子 |
C | 哈希函数 |
D | 表中元素的多少 |
解析:装填因子 α \alpha α=n/TableSize。
11.将10个元素散列到100000个单元的哈希表中,是否一定产生冲突? (1分)
选项 | |
---|---|
A | 一定会 |
B | 可能会 |
C | 一定不会 |
D | 有万分之一的可能会 |
解析:有可能会产生冲突,概率不确定。
12.设散列表的地址区间为[0,16],散列函数为H(Key)=Key%17。采用线性探测法处理冲突,并将关键字序列{ 26,25,72,38,8,18,59 }依次存储到散列表中。元素59存放在散列表中的地址是: (2分)
选项 | |
---|---|
A | 8 |
B | 9 |
C | 10 |
D | 11 |
解析:冲突后往右移位找到空位。