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

哈希表基础

常见的三种哈希结构:

数组:出现次数有限。

set(集合):输出结果中每一结果是唯一的。

map(映射):键值对。

没有限制数值的大小就不能使用哈希表。

如果哈希值比较少,特别分散,跨度非常大,使用数组会造成空间的极大浪费。

集合底层实现是否有序数值是否可以重复能否更改数值
std::set黑红树有序
std::multiset黑红树有序
std::unordereed_set哈希表无序

黑红树是一种平搜二叉搜索树,所以key的值是有序的,但key不能更改,改动会使整棵树错乱。所以只能删除和增加。

映射底层实现是否有序数值是否可以重复能否更改数值
std::map黑红树key有序key不可重复key不可修改
std::multimap黑红树key有序key可重复key不可修改
std::unordered_map哈希表key无序key不可重复key不可修改

总结:

1.当我们遇到了要快速判决一个元素是否出现在集合里的时候,就要考虑哈希法。

2.但是哈希法也是牺牲了空间换取了时间,因为我们要使用额外的数组,set或者是map来存放数据,才能实现快速的查找。

3.如果再做面试题的时候遇到要判断一个元素是否出现过的场景也应该第一时间想到哈希法。

相关文章:

  • Ollama 在本地分析文件夹中的文件
  • 本安型交换机 + TSN:煤矿智能化的关键拼图
  • AI大模型从0到1记录学习 linux day21
  • 【论文阅读】-周总结-第5周
  • IDEA中使用Git
  • Vue2、Vue3区别之响应式原理
  • 深入理解 Java 单例模式:从基础到最佳实践
  • 【项目篇之垃圾回收】仿照RabbitMQ模拟实现消息队列
  • 查回来的数据除了 id,其他字段都是 null
  • 自然语言处理之机器翻译:注意力机制在低资源翻译中的突破与哲思
  • LeetCode每日一题4.27
  • 【dockerredis】用docker容器运行单机redis
  • C#中属性和字段的区别
  • pytorch搭建并训练神经网络
  • Golang 遇见 Kubernetes:云原生开发的完美结合
  • MPI Code for Ghost Data Exchange in 3D Domain Decomposition with Multi-GPUs
  • 20250427 对话1: 何东山的宇宙起源理论
  • vscode eslint与vue-official冲突,导致点击的时候鼠标不会变成手型,一直在加载,但是不转到相应方法。
  • vue2 项目的 vscode 插件整理
  • Marmoset Toolbag 5.0 中文汉化版 八猴软件中文汉化版 免费下载
  • 中方会否公布铁线礁的领海基线?外交部:中方执法活动旨在反制菲方侵权挑衅
  • 我国首个核电工业操作系统发布,将在华龙一号新机组全面应用
  • 文旅部:推动离境退税购物便利化有利于更多国内优质商品走出去
  • 申花四连胜领跑中超,下轮榜首大战对蓉城将是硬仗考验
  • 钟声:美以芬太尼为借口滥施关税,纯属“内病外治”
  • 南国置业:控股股东电建地产拟受让公司持有的房地产开发业务等相关资产和负债