散列表查找性能分析总结
来源:互联网 发布:mac修改输入法快捷键 编辑:程序博客网 时间:2024/06/05 18:38
散列表,也叫哈希表,英文名是HashTable。是数据结构里面“查找”目录下的一个子知识点。如果散列表没有冲突,则散列查找是我们介绍的所有查找效率最高的。因为散列查找时间复杂度是O(1)。可惜的是,没有冲突的散列表只是一种理想,实际应用中冲突是不可避免的。
散列函数的构造方法:1.直接定址法。即取关键字的某个线性函数值为散列地址。2.数字分析法。3.平方取中法。4.折叠法。5.除留余数发。6.随机数法。关于方法的细节可以参考《大话数据结构》P356-P360。
处理散列冲突的方法有:1.开放定址法。说白了就是当f(key1)==f(key2),也即两个不同的关键字通过散列函数算出来的位置相同时,先占据位置的肯定就占据了,后来的那个只能占据其下一个临位置,若该临位置已占则再寻找下一个临位置。2.再散列函数法。就是说把前面说的除留余数、折叠、平方取中等等的方法都用上。每当发生散列地址冲突时就换一个散列函数,总会有一个可以把冲突解决掉。3.链地址法。将所有关键字为同义词的记录存储在一个单链表中,称这种表为同义词子表,在散列表中只存储所有同义词子表的头指针。4.公共溢出区法。将所有冲突的关键字建立了一个公共的溢出区来存放。
有关散列表查找实现的代码及其分析,可以参考《大话数据结构》P365-P367的内容,介绍得通俗易懂。
0 0
- 散列表查找性能分析总结
- 几种查找算法总结与比较—顺序查找、有序查找、散列表查找
- 算法--查找--散列表查找
- 《数据结构》二叉排序树查找性能总结
- 散列表查找
- 散列表查找概述
- 散列表的查找
- 散列表查找
- 散列表查找实现
- 性能分析总结
- Oracle性能分析总结
- Java列表对象的性能分析
- Java列表对象的性能分析
- Jquery dom查找方法 性能分析
- 查找 之 散列表查找(哈希表)
- Java查找算法(五): 散列表查找
- 散列表 散列查找
- 查找--- 哈希表( 散列表)
- Android之Android Studio--Gradle多渠道打包
- oracle存储过程报"无效的列索引"的错误
- Spring之HelloWorld
- Qt中不规则窗体和部件的实现
- 架构之路(3) :单元测试
- 散列表查找性能分析总结
- 【第二章】 IoC 之 2.1 IoC基础 ——跟我学Spring3
- 好莱坞科幻背景(c语言)
- [iOS]git管理工具Sourcetree使用之提交项目到远程仓库(傻瓜式图文教程)
- android 源代码在线查看和索引
- 互联网金融
- delphi 使用TDatabase连接 sql server的方法
- 【Unity】工具类
- 动态改变python的搜索路径