【PTA】【数据结构与算法】散列函数

判断题

1.将M个元素存入用长度为S的数组表示的散列表,则该表的装填因子为M/S。 (1分)
TF

解析:哈希表装填因子定义为:α= 填入表中的元素个数/哈希表的长度。

2.在散列中,函数“插入”和“查找”具有同样的时间复杂度。 (1分)
TF

解析:插入和查找具有同样的时间复杂度O(1)。

3.在散列表中,所谓同义词就是被不同散列函数映射到同一地址的两个元素。 (1分)
TF

解析:映射到同一散列地址的关键字称为同义词。

4.采用平方探测冲突解决策略(hi​(k)=(H(k)+i​2)%11, 注意:不是±i​2),将一批散列值均等于2的对象连续插入一个大小为11的散列表中,那么第4个对象一定位于下标为0的位置。 (2分)
TF

解析:第一个地址为2,第二个为2+1,第三个为2+4,第四个为2+9,即下标为0。

5.若用平方探测法解决冲突,则插入新元素时,若散列表容量为质数,插入就一定可以成功。 (1分)
TF

解析:可能会超出表容量,插入失败。

6.即使把2个元素散列到有100个单元的表中,仍然有可能发生冲突。 (1分)
TF

解析:有可能散列到同一个地址上。

选择题

1.在散列表中,所谓同义词就是: (1分)
选项
A两个意义相近的单词
B 具有相同散列地址的两个元素
C被映射到不同散列地址的一个元素
D被不同散列函数映射到同一地址的两个元素

解析:同义词为映射到同一散列地址的关键字。

2.在下列查找的方法中,平均查找长度与结点个数无关的查找方法是: (1分)
选项
A顺序查找
B二分法
C利用哈希(散列)表
D利用二叉搜索树

解析:哈希表查找时间复杂度为O(1)。

3.对包含N个元素的散列表进行查找,平均查找长度为: (1分)
选项
AO(1)
BO(logN)
CO(N)
D不确定

解析:一个良好的散列表,它的时间复杂度应当为O(1),但若发生冲突,那么它的时间复杂度是不能确定的。

4.若结点的存储地址与其关键字之间存在某种映射关系,则称这种存储结构为( )。 (2分)
选项
A顺序存储结构
B链式存储结构
C索引存储结构
D散列存储结构

解析:关键字-地址转换法为散列法。

5.将M个元素存入用长度为S的数组表示的散列表,则该表的装填因子为: (2分)
选项
AS+M
BM−S
CM×S
DM/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分)
选项
A8
B9
C10
D11

解析:冲突后往右移位找到空位。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值