哈希查找
来源:互联网 发布:心书网络 更新朋友圈 编辑:程序博客网 时间:2024/06/05 02:40
1、思想
哈希表查找是通过对记录的关键字值进行运算,直接求出结点的地址,是关键字到地址的直接转换方法,不用反复比较。
哈希查找是通过计算数据元素的存储地址进行查找的一种方法。O(1)的查找,即所谓的秒杀。哈希查找的本质是先将数据映射成它的哈希值。哈希查找的核心是构造一个哈希函数,它将原来直观、整洁的数据映射为看上去似乎是随机的一些整数。
哈希查找的操作步骤:
1、用给定的哈希函数构造哈希表;2、根据选择的冲突处理方法解决地址冲突;3、在哈希表的基础上执行哈希查找。
2、代码实现
/**** * Hash查找 * * @param hash * @param hashLength * @param key * @return */ public static int searchHash(int[] hash, int hashLength, int key) { // 哈希函数 int hashAddress = key % hashLength; // 指定hashAdrress对应值存在但不是关键值,则用开放寻址法解决 while (hash[hashAddress] != 0 && hash[hashAddress] != key) { hashAddress = (++hashAddress) % hashLength; } // 查找到了开放单元,表示查找失败 if (hash[hashAddress] == 0) return -1; return hashAddress; }
3、分析
Hash查找法是比较高效的一种实现方式,其时间复杂度为O(1),其主要用于一些不容易排序的查找,从而直接使用hash值取其值。
0 0
- 二分查找,分块查找,哈希查找
- 顺序查找,二分查找,哈希查找
- 二分查找、分块查找、哈希查找
- 查找(二):哈希查找和索引查找
- 查找算法之哈希查找
- 查找算法之哈希查找
- 9.6 哈希查找(杂凑查找)
- 查找算法二之哈希查找
- 查找算法之哈希查找
- 查找算法之哈希查找
- 哈希查找(散列查找)
- 哈希查找
- 哈希查找
- 哈希查找
- 哈希查找
- 哈希查找算法
- 哈希查找算法
- 哈希查找
- windows server 2003 下载
- Python 实现腾讯新闻抓取
- Google地图开发API
- SpringMVC附件上传(六)
- log4net日志组件
- 哈希查找
- iOS开发中UITableViewCell选中无效问题
- 数据库、数据源、数据库连接池、JDBC,JNDI等知识点整理
- 组合数取模
- QML实现仿酷狗音乐播放器(支持在线和本地播放)
- 常用STM32调试打印命令源程序
- 正向代理、反向代理区别
- double计算分析
- StringBulider简单用法