news 2026/4/16 13:39:32

29.哈希(上)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
29.哈希(上)

插入的key已经有了,就返回false,没有就true,

改造一下:也可以

自己走隐式类型转换,构造iteraator要用当前节点和 根节点指针

相等了就插入失败,返回相等的

这里也是插入成功,返回新插入的节点,新节点不能用current,因为父亲叔叔 红的要变色连续往上处理,所以

newnode记录一下,不然current连续变色处理,不一定是新节点,neewnode记录新节点就行

这些地方就都得跟着改

库里set这里iterator用的const iterator支持这个地方就会有坑,因为 底层是普通迭代器,就得支持腹痛迭代器到const 迭代器的转换。

然后搭operator【】:

注意两个pair,

可以继续加拷贝析构

哈希

两个容器C++11的

因为set底层是搜索树,所以是有序地,而undersort是无序的,

去掉unorder就是有序,

怎么去重 如果有了就插入不就去了

哈希更快,绝多数场景可以用unorder set 和unordermap

数据有序情况:

有序用 map set 其余情况可以用 unorderset unordermap

降序可以给greater仿函数,里面用一个仿函数,换参数位置就可以实现大于小于,

比如说计数排序,

数据比较分散就不行,适合数据范围比较集中的整形,

假设32个位,模后十个位,前22个位想不想同不重要,后十个值相同摸出来都是一样的,尽可能要避免2的次方。取13就很好

前面都是零后面16位都是1,可与 就取后16位了。但是后16位相同的值不就冲突了, 就把前16位取出来给给key'然后两个异或

这样写很好,很活

但是这里真正问题是后16位相同就都冲突了,前面的位没参与,尽可能让更多位参与运算就可以了,位不同参与运算的结果就更分散,

此时这个值就不是只有后16位参与运算了就打破了只用2的x次方。

总结:第一种

第二种:就取2的x次方也没问题,尽可能让所有位参与运算。两个不同值运算结果更有可能不一样,哈希函数是减小冲突,概率降低了很多很多。

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

首家!百度大模型安全护栏荣获信通院大模型安全护栏能力评估优秀级

12月12日,百度大模型安全护栏在中国信通院泰尔实验室的大模型安全护栏能力评估中,凭借多模态审核、安全代答及攻击拦截等能力维度的出色表现,斩获最高级别的“优秀级”评级。此前,百度大模型安全护栏的红线代答模型已于2025年6月获…

作者头像 李华
网站建设 2026/4/16 13:04:52

BotW存档管理工具:跨平台游戏进度迁移解决方案

BotW存档管理工具:跨平台游戏进度迁移解决方案 【免费下载链接】BotW-Save-Manager BOTW Save Manager for Switch and Wii U 项目地址: https://gitcode.com/gh_mirrors/bo/BotW-Save-Manager 在《塞尔达传说:旷野之息》的广阔世界中&#xff0c…

作者头像 李华
网站建设 2026/4/15 13:58:08

高斯溅射渲染:5步掌握自定义相机模型与鱼眼镜头配置

高斯溅射渲染:5步掌握自定义相机模型与鱼眼镜头配置 【免费下载链接】gsplat CUDA accelerated rasterization of gaussian splatting 项目地址: https://gitcode.com/GitHub_Trending/gs/gsplat 想要在3D高斯渲染中实现专业级的视觉效果吗?gspla…

作者头像 李华
网站建设 2026/4/16 2:58:59

containerd替换docker过程分享

containerd替换docker过程分享 一 背景介绍 1.1 docker和containerd差异总结 a.docker 由 docker-cli ,docker daemon,containerd(containerd-shim),runc(libcontainer) 组成,所以 containerd 是 docker 的基础组件之一 注: containerd 是docker1.10以后解耦出来,用于独立…

作者头像 李华
网站建设 2026/4/16 12:24:10

5分钟掌握PyODBC:Python数据库连接终极解决方案

5分钟掌握PyODBC:Python数据库连接终极解决方案 【免费下载链接】pyodbc Python ODBC bridge 项目地址: https://gitcode.com/gh_mirrors/py/pyodbc 还在为Python连接各种数据库而烦恼吗?PyODBC作为Python生态中最强大的ODBC桥接工具,…

作者头像 李华