news 2026/8/21 6:12:46

哈希算法哈希表

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
哈希算法哈希表

一、哈希表(散列表)

关键字映射到位置

数组 + 链表实现

恒等函数 :H(key)=key

除留余数法 :H(key)=key%p ( p为表长最大质数 )

a ( 装填因子 )=n(表中元素)/m(表长)=0.75 //用0.75求表长

直接定地址法 :H(key)=key 或 H (key) =a*key+b

除留余数法 :H(key)=key%p ( p为表长最大质数 )

二、冲突处理-开放定址法

线性探测法

eg

求表长 : 9/0.75=12

15%11=4;29%11=7;18%11=7(冲突后移放到8) ......

51%11=7(后移到11依旧冲突接着遍历0,1)

ans

查找

eg1 : 8

eg2 : 48

比较三次,查找失败(空位置也算!!!)

数组01234567891011
数据11511526291820408
查找成功次数171212144
查找失败次数32113218765不存在
ASL-Average Search Length (平均查找长度)

ASL成功=(1+7+1+2+1+2+1+4+4)/9 =23/9

ASL失败=(3+2+1+1+3+2+1+8+7+6+5)/11=39/11

0要到2才算失败,查找3次

删除

打标记DEL(设置成-1) 后续可以插入

平方探测法

冲突时候按照 +1^2,-1^2,+2^2,-2^2,+3^2,-3^2……顺序进行探测(表尾后面是表首)

表长=某个4k+3的质数(k为正整数)

17时候,在3发生冲突,先看3+1=4冲突,再看3-1=2;

24时候在3冲突,先看3+1=4冲突,看3-1=2冲突,看2+4=7就是0不冲突

三、冲突处理-拉链法

所有同义词用单链表(头插法)串起来

ASL成功=(1*7+2*3+3*1)/11=16/11

ASL失败=(0+0+1+2+3+1+0+2+0+1+0+0+1)/13=11/13

可以直接删除!!!

四、代码(做题遇到的)

1.unordered_map<key,value> mp

eg :unordered_map<int,int> mp; //无序哈希表,查找平均素的O(1)

unordered_map:C++的无序哈希表容器

作用:存【键-值 对】key->value,就像字典

第一个int:key的类型,存key数值

第二个int:value的类型,存value的数组下标

mp:变量名字 mp[数值]=下标

2.mp.find(need)!=mp.end().find(); //查找key,找到返回迭代器,找不到返回 .end()含义;

mp.find(寻找key)

若哈希表存在need,返回一个迭代器,指向键值对;

若哈希表不存在need,返回特殊值mp.end()

//mp.end() 不是哈希表里面元素,是一个“末尾标记”,表示找遍了没找到

3.mp[nums[i]]=i; //把当前数字作为key,下标作为value放进哈希表

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/21 6:10:21

自主智能体如何重塑推荐系统:从被动响应到主动规划

1. 项目概述&#xff1a;当推荐系统遇上自主智能体最近和几个做推荐系统的老朋友聊天&#xff0c;大家不约而同地提到了一个词&#xff1a;自主智能体。这让我想起几年前&#xff0c;我们还在为如何把深度学习模型塞进线上服务、如何把实时特征更新从分钟级优化到秒级而绞尽脑汁…

作者头像 李华
网站建设 2026/8/21 6:03:28

Python爬虫构建招聘信息可视化推荐系统实战

1. 项目背景与核心价值最近帮学弟调试毕业设计时&#xff0c;接触到一个挺有意思的课题——用Python爬虫构建招聘信息可视化推荐系统。这个项目完美结合了数据采集、清洗分析和可视化呈现三个技术模块&#xff0c;特别适合作为Python全栈开发的实战案例。不同于简单的数据展示&…

作者头像 李华
网站建设 2026/8/21 6:01:20

安全连续时间多智能体强化学习:PINN与Epigraph Form融合框架

1. 从离散到连续&#xff1a;多智能体强化学习为何需要新范式最近在复现和优化一些多智能体协同控制的项目时&#xff0c;我遇到了一个经典难题&#xff1a;算法在离散时间步下跑得挺好&#xff0c;仿真结果也漂亮&#xff0c;但一旦部署到真实的连续物理系统&#xff08;比如一…

作者头像 李华
网站建设 2026/8/21 5:59:54

Cursor Pro订阅实战:2.5折获取Grok 4.6模型全攻略

这次我们来看一个关于 Cursor 订阅的实战攻略。如果你正在寻找一个能深度集成 AI 辅助编程的 IDE&#xff0c;并且希望以更低的成本获得官方订阅&#xff0c;特别是想体验最新的 Grok 4.6 模型&#xff0c;那么这篇文章就是为你准备的。Cursor 的核心价值在于它将 AI 能力无缝嵌…

作者头像 李华