哈希结构是如何找到相对应的键-值对?

本文介绍了哈希结构的基本原理,通过哈希函数将键映射到特定的存储位置,实现键-值对的快速查找。与遍历查找相比,哈希表能够显著提高查找效率。

哈希结构是如何找到相对应的键-值对?

哈希结构作为一种抽象数据结构,Hash表的实现思路如下:

通过某种算法,在 键--值对的存储地址和 键--值对中的key之间,建立一种映射,使得每一个key,都有一个确定的存储地址于之对应。这种算法被封装在Hash函数中。

在查找时,通过Hash函数,算出和key对应的存储地址,从而找到相应的键-值对。这样就不需要遍历了(付翔注)

相对于通过遍历整个键-值对列表来进行查找,Hash表的查找效率要高得多,理想的情况下算法复杂度仅为o(1)(遍历查找的复杂度为o(n))。Flash内置的哈希结构有Object和Dictionary两种。访问速度上Dictionary要快于Object(参考 Dictionary VS Object VS Array ),并且支持弱引用。Haxe的选择面则更广一些。Dictionary提供了一种泛型结构,并针对key为int型的哈希结构做了特殊优化——IntHash。

posted on 2009-09-10 09:21 jiahuafu 阅读(...) 评论(...) 编辑 收藏

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

银狐游戏开发资源2

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值