学习笔记-散列表
来源:互联网 发布:js 设置div style 编辑:程序博客网 时间:2024/05/17 00:55
1.散列表的定义:
散列表又称哈希表(HashTable),是通过Key-Value的方式存储数据的一种数据结构。可以直接通过Key来访问Value。
2.散列表的特点:
散列表中多个Key可以对应一个Value(称为碰撞),但是一个Value只能对应一个Key。
3.散列表和散列函数的关系:
散列表用于存储Key-Value映射,散列函数是通过Key访问Value,是通过直接寻址法找到的,因此,散列表实现了高速快捷地查找数据。
4.散列表常用方法:
①直接寻址法:即以Value=a*Key+b(a,b为常数)的形式通过Key存储Value。
②数字分析法:即分析需要存储的Value的数字特点找到可以降低冲突到最小的构造地址的方法。
③平均取中法:将Value值平方后取中间的几位数字作为地址。
④折叠法:比如有一个数为542242241,将这个数折叠为542+242+241=1025,去掉进位,取25作为地址。
⑤除留余数法:取关键字被某个不大于哈希表表长m的数p除后所得余数为哈希地址。
5.冲突:
①为何会造成冲突:散列表中允许多个键对应一个值,即有两个键对应的存储地址相同这就造成了冲突或碰撞。
②如何避免冲突:键的长度小于等于散列表的长度时,可最大程度的避免冲突。
③冲突可以被完全避免吗?不可以。
阅读全文
1 0
- 散列表学习笔记
- 学习笔记-散列表
- 学习笔记-散列表
- 算法学习笔记--散列表(1)
- 《算法导论》学习笔记Chapter11散列表
- CSS学习笔记:列表
- python 学习笔记-列表
- 学习笔记(一)列表
- 有序列表和无序列表 学习笔记
- OpenGL学习笔记:显示列表
- OpenGL学习笔记 显示列表
- Python学习笔记之列表
- [Python]学习笔记之列表
- ListActivity实现列表学习笔记
- Python学习笔记4--列表
- Python学习笔记-列表1
- Python学习笔记之列表
- html学习笔记之列表
- 日常博客系列规划
- CVTE笔试题二:判断两个字符串的拼接方式是否相同
- [问题汇总]ubuntu16.04+cuda8.0+cudnn+opencv3.2+caffe+tensorflow+SS搭建
- python 入门系列4:while 循环
- I2C驱动学习
- 学习笔记-散列表
- C++实现栈和队列
- Java 面向对象的总结 初级篇 1
- TCP-IP学习笔记(八)——RARP:逆地址解析协议
- zookeeper的永久监听
- Jenkins学习——邮件配置
- QScrollArea 用法总结
- 关于package ——java笔记
- echarts结合poi-word导出的简单处理