PAT-散列
散列(hash)
- 以空间换时间,建立映射函数,将元素通过一个函数转换为整数,使得该整数可以尽量唯一地代表这个元素
一、整数散列
1.类型
-
给定N个数,M个数,问M个数中的数是否在N个数中出现过
- 以N个数中的数作为数组下标,记录N个数中的数的出现情况
- 以N个数中的数作为数组下标,记录N个数中的数的出现情况
-
给定N个数,M个数,问M个数中的数在N数中出现的个数
- 以N个数中的数作为数组下标,记录N个数中的数的出现情况
- 以N个数中的数作为数组下标,记录N个数中的数的出现情况
2.散列函数
- 常用函数:直接定址法、平方取中法、除留余数法
- 解决冲突的方法:线性探查法、平方探查法、链地址法
二、字符串散列
- 散列函数:将字符串转换为整数,使得该整数尽可能地代表字符串S
- 思路:将字符串对应到26进制(大写字母)、52进制(大小写字母)、62进制(大小写字母加数字),然后进行进制转换,转换到十进制
- 例:
参考-算法笔记-胡凡
作者:方知有
Motto: 热爱可抵岁月漫长
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
所有评论和私信都会在第一时间处理,如有问题或建议,请多多赐教!
支持博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是作者坚持原创和持续写作的最大动力!