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

哈希结构作为一种抽象数据结构,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  阅读(609)  评论(0编辑  收藏  举报

导航