社区
数据结构与算法
帖子详情
关于hash表的时间复杂度
NeilHappy
2011-11-30 12:49:49
hash就是散列,甚至再散列。但是我一直对hash表的时间复杂度有个疑问。一个需要存储的字符串,通过hash函数散列到一个相对较短的索引,使得存取速度加快。但为什么存取的时间复杂度能达到常量级O(1)呢?? 查找时搜索索引不需要费时间吗?为什么不是O(n)呢? n是hash表的长度
可不可以这样理解:对一个字符串算出hash码后,这个hash码相当于一个指针,就可以直接指向其存储位置,从而是O(1)的时间复杂度。
...全文
4187
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
打赏
举报
回复
我一直是这么认为的,希望是这样
02丨数据结构原理:
Hash
表
的
时间复杂度
为什么是O(1)?.pdf
Hash
表
的
时间复杂度
为什么是O(1)
数据结构与算法体系结构1
数据结构算法体系结构复杂度
时间复杂度
空间复杂度O(1) 常数复杂度,最佳,比如
Hash
表
、缓存等O(n) 线性复杂度,如通常的遍历操作O(log n) 对数
Java高级课程系列之(
Hash
算法)
本次课程会带着大家学习
Hash
算法,从源码的角度去学习算法,更加容易理解的方式去学习,能够更高效的吸收学到的内容,也能培养出能够独自看源码,分析源码的能力。
Hash
,一般翻译做“散列”,也有直接音译为“哈希...
常用算法(待完善)1
常用算法(待完善)常用工具Google 搜索引擎复杂度
时间复杂度
O(1) 常熟复杂度:
Hash
表
、数组、缓存等O(Log n) 仅次于 O(1) :二分查找、二
数据结构和算法_201910101
数据结构和算法复杂度分析空间复杂度O(1),原地操作O(n),开辟线性辅助空间
时间复杂度
类型:最好,最坏,平均,均摊常见复杂度O(1) 常数复杂度,如
Hash
数据结构与算法
33,008
社区成员
35,326
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章