当前位置: 首页 > news >正文

哈希表基础知识

哈希表

哈希表就是根据关键码的值而进行访问的数据结构

数组就是一张哈希表

哈希表能解决的问题就是快速判断一个元素是否出现在集合里。

举例:

例如要查询一个名字是否在这所学校里。

要枚举的话时间复杂度是O(n),但如果使用哈希表的话, 只需要O(1)就可以做到。

我们只需要初始化把这所学校里学生的名字都存在哈希表里,在查询的时候通过索引直接就可以知道这位同学在不在这所学校里了。

将学生姓名映射到哈希表上就涉及到了hash function ,也就是哈希函数。

哈希函数

哈希函数,把学生的姓名直接映射为哈希表上的索引,然后就可以通过查询索引下标快速知道这位同学是否在学校里了。

通过hashCode将名字转化为数值。
然后通过hashFunction哈希函数,将哈希函数映射到哈希表上了。

哈希碰撞

拉链法

线性探测法

C++中的哈希结构

C++中,set和map分别提供以下三种数据结构,std::set,std::multiset,std::unordered_set
详情见:代码随想录

在这里插入图片描述
在这里插入图片描述

http://www.xdnf.cn/news/656173.html

相关文章:

  • 选择SEO公司时需要注意哪些关键指标?
  • 多模态大语言模型arxiv论文略读(九十二)
  • 2025.05.26【Wordcloud】词云图绘制技巧
  • pkg-config的功能与作用说明
  • jeecg-boot vue点击左侧菜单跳转无菜单栏的全屏页面
  • PostgreSQL日志管理完整方案(AI)
  • 学习心得(14--16)
  • 使用 Vuex 实现用户注册与登录功能
  • HTML流星雨
  • 充电枪IEC62196/EN 62196测试内容
  • 【PC网上邻居--1】基于Samba协议的局域网文件共享系统设计与实现
  • 行为型:责任链模式
  • 【DCCN】多模态情感分析解耦交叉属性关联网络
  • java虚拟机
  • 第11章 标准化和软件知识产权基础知识,多媒体、图像相关
  • 认识微服务
  • 区块链与Web3:如何有效保障个人数据安全
  • 扩容的未来:Web3 并行计算赛道全景图谱
  • moviepy视频添加中文水印
  • 网络原理 | TCP与UDP协议的区别以及回显服务器的实现
  • 热门大型语言模型(LLM)应用开发框架
  • yolov8分割任务的推理和后处理解析
  • HMI仿真报错
  • 【MATLAB例程】声纳信号处理与目标测距的程序|信号频率、信噪比、采样率和声速均可自行调整|附代码下载链接
  • 【Bug】--node命令加载失败
  • 安卓端智能耗材柜系统可行性方案(基于uniapp + Vue3)
  • 数据的六个特性以及由于独特性产生的一些有趣的想法
  • 【C/C++】基于 Docker 容器运行的 Kafka + C++ 练手项目
  • Vue条件渲染
  • JavaScripts console.log和console.dir区别