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

刷题笔记 哈希表-1 哈希表理论基础

O(1)复杂度查找,牺牲了空间换取了时间

一、哈希表概念

1.定义(Hash table,散列表)

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

一般哈希表都是用来快速判断一个元素是否出现集合里。

数组就是一种哈希表,关键码就是数组的索引下标

2.哈希函数(hash function

将查找映射为哈希表索引的函数,通过查询索引下标快速查找

3.哈希碰撞

多个查找映射到了同一个位置索引,这一现象叫做哈希碰撞

4.哈希碰撞解决方法

一般哈希碰撞有两种解决方法, 拉链法和线性探测法。

(1)拉链法

将发生冲突的元素都被存储在链表中

(2)线性探测法

发生冲突后向下找一个空位放置信息

一定要保证tableSize大于dataSize

二、常见的哈希结构和应用

常见的哈希结构有三种:数组(list, python)、集合(set, python)、映射(dict/collection.defaultdict(*), python)

其中映射的key(query)常用元组tuple,出现相应报错就尝试把数据类型改为tuple

常见的应用也有三种:充当查找表、标记状态(特征提取)、统计次数等功能

但三种哈希结构和应用不存在对应关系


http://www.kler.cn/a/532088.html

相关文章:

  • 排序算法--归并排序
  • 18.[前端开发]Day18-王者荣耀项目实战(一)
  • 自动驾驶---两轮自行车的自主导航
  • 【流媒体】搭建流媒体服务器
  • 【C语言】自定义类型讲解
  • 基于人脸识别的课堂考勤系统
  • AI 编程工具—Cursor进阶使用 Agent模式
  • 【棋弈云端】网页五子棋项目测试报告
  • 趣味Python100例初学者练习01
  • Chapter 6 -Fine-tuning for classification
  • 解析Python装饰器高级用法6项
  • 算法随笔_38: 最多能完成排序的块
  • 蓝桥杯真题 - 子串简写 - 题解
  • 开源 CSS 框架 Tailwind CSS
  • upload-labs安装与配置
  • SQL Server中DENSE_RANK()函数:简洁处理连续排名
  • 数据结构:树和二叉树概念_堆篇
  • apikey存储方案探秘(deepseek-R1对话)
  • 九. Redis 持久化-RDB(详细讲解说明,一个配置一个说明分析,步步讲解到位)
  • RabbitMQ深度探索:死信队列
  • PHP开发小记-消息推送
  • 《深度揭秘LDA:开启人工智能降维与分类优化的大门》
  • Android学习21 -- launcher
  • 设计一个特殊token以从1亿词表中动态采样8192个词来表达当前序列
  • CSS工程化概述
  • MFC程序设计(八)动态创建机制