力扣 哈希表刷题回顾

哈希表理论总结

什么时候用哈希表,快速判断一个元素是否出现在集合中时,用哈希这种空间换时间的方法。

哈希函数与哈希碰撞

哈希函数是指将key映射到对应的哈希表上

哈希碰撞是指映射的过程中容易出现多对一的情况,用什么方法解决拉链法和线性探测法


哈希表主要有

数组、set 、map三种

数组适用于给定数量的元素,并且数量不多,查找起来很方便,占用空间小

set 分为三种 set, unordered_set, muti_set

set 与muti_set底层都是红黑树,并且key有序,muti_set特殊在key可以重复,他们的查找和删除时间复杂度都是O(Log(n))

而unordered_set 底层是哈希表,key无序,key不可以重复,查找删除时间复杂度为O(1)


map也分三种,map ,unordered_map,muti_map

map是有key 与value的,key都不可以修改

map与muti_map 底层是红黑树,key有序,muti_map的key可以重复,查找删除效率为O(log(n))

unordered_map 底层哈希表,key无序,key不可以重复,时间复杂度为O(1)

map使用时

增加元素用map.insert(pair<类型,类型>{key,value})

key对应的value 变化,例如map[key]++

查找元素,if( map.find(key) != map.end() )等于true即为找到了


刷题时,

注意,定义unordered_map<类型1,类型2> set1; 类型1对应key的类型,类型2对应value的类型

key就是要查找的元素,value就是元素出现的次数

相关推荐

  1. 回顾

    2024-07-13 18:06:03       19 阅读
  2. 面试经典

    2024-07-13 18:06:03       62 阅读
  3. Leetcode(一)

    2024-07-13 18:06:03       29 阅读
  4. 每日OJ_⑤_49. 字母异位词分组

    2024-07-13 18:06:03       45 阅读
  5. 每日OJ_④_219. 存在重复元素 II

    2024-07-13 18:06:03       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-13 18:06:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-13 18:06:03       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-13 18:06:03       58 阅读
  4. Python语言-面向对象

    2024-07-13 18:06:03       69 阅读

热门阅读

  1. C++之复合资料型态 第一部(参考 列举 指标)

    2024-07-13 18:06:03       20 阅读
  2. spring-cloud和spring-cloud-alibaba的关系

    2024-07-13 18:06:03       19 阅读
  3. 4层负载均衡和7层负载均衡

    2024-07-13 18:06:03       20 阅读
  4. 大话C语言:第31篇 指针和数组的关系

    2024-07-13 18:06:03       21 阅读
  5. 算法提高第二章 线段树基础

    2024-07-13 18:06:03       17 阅读
  6. django orm中value和value_list以及转成list

    2024-07-13 18:06:03       21 阅读
  7. C# .Net Core Zip压缩包中文名乱码的解决方法

    2024-07-13 18:06:03       21 阅读
  8. live555关于RTSP协议交互流程

    2024-07-13 18:06:03       15 阅读
  9. EXPORT_SYMBOL

    2024-07-13 18:06:03       24 阅读