【PTA】【数据结构与算法】散列冲突
1:题目集 【PTA】【数据结构与算法】散列冲突
2.:设某散列表的长度为100,散列函数H(k)=k % P,则P通常情况下最好选择( )。
p:应该是小于等于tablesize最大素数,所以是 97。
3:散列表的平均查找长度:与冲突次数+散列表表长+加载密度等都有关系。
4:分离链接法:hash value 相同的节点放到同一个下标,头插法插入链表。
给定输入序列 {4371, 1323, 6173, 4199, 4344, 9679, 1989} 以及散列函数 h(X)=X%10。如果用大小为10的散列表,并且用分离链接法解决冲突,则输入各项经散列后在表中的下标为:(-1表示相应的插入无法成功)
answer: 1 3 3 9 4 9
5:散列表的插入和删除操作具有相同的复杂度
6:同义词:hash valu 相同的两个元素
7:若用平方探测法解决冲突,则插入新元素时,若散列表容量为质数,插入就一定可以成功。
可能会溢出,也就是超过表长
8:如果表大小为素数并且表至少为空一半,则始终可以通过二次探测插入新元素 (正确)
if the table size is prime and the table is at least half empty, a new element can always be inserted with quadratic probing
9:If N keys are hashed into the same slot with separate chaining used to solve collisions, then the number of comparisons for finding these N keys is __.
如果 N 个关键词被散列到同一个插槽中,并使用单链表来解决冲突(分离链接法),那么找到这 N 个关键词的比较次数为 N(N+1)/2。
从第一个节点到最后一个比较次数分别为:1,2,3,4,.....,n
10:加载密度=散列表中的关键词个数 / 表长
11:使用线性探测的散列表中平均不成功查找次数:
1)除以模数
2) 对于探测散列表中的某一地址元素,失败探测则应该一直向后探测,直到遇到空位表示表 中无此元素。
例子:如长度为7的表,0~4有元素其他为空。探测地址0~6的元素,取模数为7
地址为i的失败探测次数分别为6,5,4,3,2,1,1。平均失败查询长度ALS为: (6+5+4+3+2+1+1)/7
12:散列表中平均成功查找长度
1) 对于单个元素来说:该元素的查找次数=插入时冲突次数+1
2)平均成功查找长度=所有关键词查找次数 / 关键词总数
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」