社区
数据结构与算法
帖子详情
关于hash表的时间复杂度
NeilHappy
2011-11-30 12:49:49
hash就是散列,甚至再散列。但是我一直对hash表的时间复杂度有个疑问。一个需要存储的字符串,通过hash函数散列到一个相对较短的索引,使得存取速度加快。但为什么存取的时间复杂度能达到常量级O(1)呢?? 查找时搜索索引不需要费时间吗?为什么不是O(n)呢? n是hash表的长度
可不可以这样理解:对一个字符串算出hash码后,这个hash码相当于一个指针,就可以直接指向其存储位置,从而是O(1)的时间复杂度。
...全文
4407
6
打赏
收藏
关于hash表的时间复杂度
hash就是散列,甚至再散列。但是我一直对hash表的时间复杂度有个疑问。一个需要存储的字符串,通过hash函数散列到一个相对较短的索引,使得存取速度加快。但为什么存取的时间复杂度能达到常量级O(1)呢?? 查找时搜索索引不需要费时间吗?为什么不是O(n)呢? n是hash表的长度 可不可以这样理解:对一个字符串算出hash码后,这个hash码相当于一个指针,就可以直接指向其存储位置,从而是O(1)的时间复杂度。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
happyperson
2011-11-30
打赏
举报
回复
你可以看看java里面hashmap的实现,里面用的是数组哦
Zephyrzzz
2011-11-30
打赏
举报
回复
查找索引当然会很快,不过只有无冲突的hash table复杂度才是O(1),一般是O(c),c为哈希关键字冲突时查找的平均长度。
Usopp_Dream
2011-11-30
打赏
举报
回复
o⑴的原因是离散后,下标对应关键字
oo
2011-11-30
打赏
举报
回复
就是2楼说的这样
catmonkeyxu
2011-11-30
打赏
举报
回复
hash表的桶一般是数组,计算出来的hash值一般是整数,可直接作为数组下标,然后……你懂的
keeya0416
2011-11-30
打赏
举报
回复
我一直是这么认为的,希望是这样
为什么都用哈希,
Hash
表
的
时间复杂度
为什么是 O(1)?
本文主要介绍哈希
表
相关知识。先对比数组说明哈希
表
优势,阐述其索引与长度计算方法,分析哈希冲突及解决办法,如链接法和开放寻址法,还提及减少冲突的手段,如扩容和调优哈希函数。最后介绍一致性哈希算法,包括其组成、优势及实现步骤。
Hash
表
的
时间复杂度
为什么是 O(1)以及
Hash
冲突怎么形成的(面试版)
本文深入浅出地介绍了数组、链
表
、
Hash
表
、栈、队列及树等基本数据结构的特点与应用场景,重点剖析了
Hash
表
的工作原理及其
时间复杂度
为O(1)的原因。
Hash
表
的
时间复杂度
为什么是O(1)?
博客介绍了在软件开发中,当需根据部分数据查找完整数据时可使用
Hash
表
。阐述了
Hash
表
的存储和读取原理,以及
Hash
冲突的产生和解决方法,如链
表
法。还分析了哈希
表
的
时间复杂度
,在不考虑冲突时为O(1),考虑冲突时最坏为O(n),并提及JDK中
Hash
Map的优化机制。
hash
表
的增删改查
时间复杂度
都是o(1)
博客指出
hash
表
在进行增删改查操作时,
时间复杂度
均为o(1),这体现了
hash
表
在数据操作方面的高效性,是信息技术领域数据结构相关的重要特性。
02丨数据结构原理:
Hash
表
的
时间复杂度
为什么是O(1)?
本文围绕面试中常考的数据结构展开。作者以
Hash
表
时间复杂度
问题为例,强调掌握基本数据结构的重要性。详细介绍了数组、链
表
、
Hash
表
、栈、队列和树等数据结构的特点、操作及应用场景,还给出链
表
合并判断的思考题,鼓励读者交流。
数据结构与算法
33,026
社区成员
35,336
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章