Java教程

算法导论-----散列表

本文主要是介绍算法导论-----散列表,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一 散列表产生背景
散列表是根据数组可以直接随机访问的特性产生的。这样就可以在一定情况下,通过散列函数和很小的数组结构,对数据进行组织,实现在最坏情况下查找为O(n),平均情况下O(1)的算法。
二 散列表组成
散列表是由散列函数和映射以后的数据存储结构组成的。
散列函数先将原始数据通过计算得到一个散列值,然后再将散列值存储到存储结构中
但是散列函数面对不同的原始值,可能计算出相同的散列值,这种情况成为冲突,解决冲突的办法有两种:
1、链接法:将数据存储结构申请为指针数组,如果有相同的散列值,将相同的散列值组织成链表,这样就可以解决散列冲突
2、开放寻址法:通过寻找散列表中的存储结构的空闲位置,然后将散列值存储到里面

这篇关于算法导论-----散列表的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!