首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
虚拟化.超融合.云计算
›
公有云
›
SAAS
›
9.19做题资料:哈希表查找时间复杂度分析 ...
返回列表
发新帖
9.19做题资料:哈希表查找时间复杂度分析
[复制链接]
发表于 2025-9-19 21:02:49
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
好的,我用一个简单的比喻来表明,就像你在学校里找座位一样!
1.
哈希表是什么?
想象一个讲堂里有许多多少桌子(这些桌子就是
哈希表
)。每张桌子都有一个编号(好比1号桌、2号桌、3号桌……)。老师规定:每个同砚必须坐在指定编号的桌子上。
2.
键值对是什么?
如今,每个同砚都有一个学号(这就是
“键”
),而且每个同砚都带着自己的书包(这就是
“值”
)。
以是,
“键值对”
就是:
学号(键) + 书包(值)
。
哈希表就是用来存放这些“键值对”的——也就是让每个同砚(键)坐在自己的桌子(值)上。
3.
哈希函数是什么?
老师规定了一个规则:
你的学号除以讲堂的总桌数,余数是几,你就坐在几号桌
。
好比:
讲堂有10张桌子(编号0到9)。
你的学号是15,那么 15 ÷ 10 = 1 余 5,以是你就坐在5号桌。
这个规则就是
哈希函数
——它告诉你应该坐在那边。
4.
辩论是什么?
偶然候,两个同砚的学号算出来会坐在同一张桌子上!
好比:学号5和学号15,除以10余数都是5,都要坐5号桌。
但一张桌子只能坐一个人呀!这就发生了
辩论
。
5.
开放地点法(办理辩论)
老师规定:如果5号桌已经有人了,那你就今后找,坐下一张空桌(好比6号、7号……直到找到空桌)。
这就是
开放地点法
——如果原来该坐的位置被人占了,就按照规则找下一个空位。
6.
装载因子(α)是什么?
装载因子 = 门生人数 / 桌子总数
好比:讲堂有10张桌子,如今坐了7个门生,那么装载因子 α = 7/10 = 0.7。
α越大,分析讲堂越满(桌子快坐满了);α越小,分析讲堂越空。
7.
最坏环境下查找一个元素的时间复杂度
如今,有一个新同砚来找人(
查找
):他想知道学号15的同砚坐在那边。
他先算了一下:15÷10=1余5,以是应该去5号桌找。
但5号桌坐的是学号5的同砚,不是15!
于是他又去6号桌找,也不是;
再去7号桌找,还不是……
最坏的环境
:他大概找遍了讲堂里全部的桌子(10张),才发现学号15的同砚坐在末了一张桌,大概根本不在讲堂(没来上学)。
以是,
最坏环境下,他须要找遍全部桌子
。
讲堂有10张桌子,但只有7个门生(α=0.7),他最多要找10次。
如果讲堂有100张桌子(但只有70个门生,α=0.7),他最坏要找100次。
注意
:桌子总数(m)和门生人数(n)有关系:m = n / α。
好比:n=70,α=0.7,那么m=70/0.7=100张桌子。
以是,最坏环境要找O(m) = O(n/α)次。
但由于α是常数(好比0.7),以是O(n/α)可以简化为O(n)。
也就是说:
最坏环境下,找一个人须要找的次数和讲堂里的桌子总数成正比,而桌子总数又和门生人数差不多(由于α是常数),以是最坏环境找人的时间和小班里的门生人数n成正比
。
因此,时间复杂度是
O(n)
。
✅ 总结答案:
最坏环境下查找一个元素的时间复杂度是
O(n)
(也就是找人的时间和小班里的人数n成正比)。
回复
使用道具
举报
返回列表
浏览过的版块
Oracle
分布式数据库
Java
运维.售后
SQL-Server
人工智能
DevOps与敏捷开发
物联网
前端开发
数据仓库与分析
惊雷无声
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表