news 2026/6/5 0:30:39

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/5/30 21:14:06

牛客2025年度屡获行业殊荣,以AI Agent持续引领智能招聘新浪潮

在人工智能与人力资源深度融合的浪潮中,牛客凭借领先的AI面试解决方案持续引领行业变革。其以技术驱动招聘效率提升、体验优化和决策精准化,赢得了企业客户与专业机构的一致肯定。过去一年,牛客不仅在产品创新上屡获突破,更在人力…

作者头像 李华
网站建设 2026/6/3 12:02:07

UI-TARS桌面版快速上手攻略:3分钟搞定智能GUI自动化

还在为重复的电脑操作烦恼吗?UI-TARS桌面版正是您需要的智能助手!这款革命性的视觉语言模型应用,让您用自然语言就能指挥电脑完成各种任务。无论您是技术新手还是资深开发者,都能在几分钟内掌握核心用法。 【免费下载链接】UI-TAR…

作者头像 李华
网站建设 2026/5/31 2:52:08

Obsidian Templater插件:从零构建智能笔记自动化工作流

Obsidian Templater插件:从零构建智能笔记自动化工作流 【免费下载链接】Templater A template plugin for obsidian 项目地址: https://gitcode.com/gh_mirrors/te/Templater 在信息爆炸的时代,如何高效管理知识笔记成为每个学习者和专业人士的痛…

作者头像 李华
网站建设 2026/6/1 20:36:17

Semantic UI Calendar:现代化Web日期选择解决方案完全指南

Semantic UI Calendar:现代化Web日期选择解决方案完全指南 【免费下载链接】Semantic-UI-Calendar mdehoog/Semantic-UI-Calendar: Semantic-UI-Calendar 是Semantic UI框架的一个日历扩展插件,它增强了原生HTML5 控件的功能,提供了日期选择…

作者头像 李华
网站建设 2026/6/3 11:55:27

FPGA电机控制实战:5步快速掌握FOC核心技术

FPGA电机控制实战:5步快速掌握FOC核心技术 【免费下载链接】FPGA-FOC FPGA-based Field Oriented Control (FOC) for driving BLDC/PMSM motor. 基于FPGA的FOC控制器,用于驱动BLDC/PMSM电机。 项目地址: https://gitcode.com/gh_mirrors/fp/FPGA-FOC …

作者头像 李华
网站建设 2026/6/3 16:59:15

PyPSA完整指南:电力系统建模与能源平衡分析的终极解决方案

PyPSA完整指南:电力系统建模与能源平衡分析的终极解决方案 【免费下载链接】PyPSA PyPSA: Python for Power System Analysis 项目地址: https://gitcode.com/gh_mirrors/py/PyPSA PyPSA(Python for Power System Analysis)是一个革命…

作者头像 李华