IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> Hash随笔 -> 正文阅读

[数据结构与算法]Hash随笔

Hash函数简介

	hash函数是把任意长度的输入变换成固定长度的输出,该输出就是散列值。散列值的空间
	通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定
	唯一的输入值。相比上述几种数据结构,在哈希表中进行添加,删除,查找等操作,性能
	十分之高,不考虑哈希冲突的情况下(后面会探讨下哈希冲突的情况),仅需一次定位即可
	完成,时间复杂度为O(1)。

常见的Hash函数

	a. 直接定址法:直接以关键字k或者k加上某个常数(k+c)作为哈希地址(H(k)=ak+b)。

	b. 数字分析法:提取关键字中取值比较均匀的数字作为哈希地址(如一组出生日期,相较
	   于年-月,月-日的差别要大得多,可以降低冲突概率)

	c. 分段叠加法:按照哈希表地址位数将关键字分成位数相等的几部分,其中最后一部分可以
	   比较短。然后将这几部分相加,舍弃最高进位后的结果就是该关键字的哈希地址。

	d. 平方取中法:如果关键字各个部分分布都不均匀的话,可以先求出它的平方值,然后按照
	   需求取中间的几位作为哈希地址。

	e. 伪随机数法:选择一随机函数,取关键字的随机值作为散列地址,通常用于关键字长度
	   不同的场合。

	f. 除留余数法:用关键字k除以某个不大于哈希表长度m的数p,将所得余数作为哈希表地址
	  (H(k)=k%p, p<=m; p一般取m或素数)。

冲突:

	冲突:对于不同的关键字ki、kj,若ki != kj,但H(ki) = H(kj)的现象叫冲突。
	     就是不同的输入却得到了相同的输出。

常见的冲突解决办法:

	a. 链地址法:将哈希表的每个单元作为链表的头结点,所有哈希地址为 i 的元素构成一个
	   同义词链表。即发生冲突时就把该关键字链在以该单元为头结点的链表的尾部。
	
	b. 开放定址法:即发生冲突时,去寻找下一个空的哈希地址。只要哈希表足够大,总能找到
	   空的哈希地址。当节点深度高于八个的时候采用二叉树查询,当小于等于六个的时候采用
	   数组顺序存储。
	
	c. 再哈希法:即发生冲突时,由其他的函数再计算一次哈希值。
	
	d. 建立公共溢出区:将哈希表分为基本表和溢出表,发生冲突时,将冲突的元素放入溢出表。
  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-12-01 17:57:48  更:2021-12-01 17:59:50 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 14:59:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码