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

408第一季 - 数据结构 - 散列表

散列表

概念

散列表本身就是为了查找

原始人思想

散列表思想

6%5 是 1

1%5 也是1 冲突

冲突怎么办?

线性探测法

就往后找,1跑到索引为2

然后查找,可以发现,只要没冲突就只用查找1次

然后你想找10的话,发现索引为0的地方什么都没有,所以查1次为空就结束

然后这个方法空间用的多,但查的快

然后这里失败情况解释一下

1是%之后为0的情况

3是%之后为1的情况,也就是说要往后找3次才看见空

这上面是没有循环的情况下的

当然,这个表是可以循环的,比如我们想插个24,就会到索引为0这里,查找的话也一样

删除

这里把9删了的话,4就查不到了,怎么办

那就可以把9下面弄个False,变成逻辑删除就行,并不是真正的删除

然后还有二种散列表存放的方法

上面这些ab上面的都是题目会给你的

然后还要一些处理冲突的方法

这写的什么玩意,具个例子就知道了

这里9占了索引为4的之后,4不得不去索引为5的地方

因此索引为5的本来是为所有余数为5的数开放,但现在余数为4的也放进去了,所以就是上面说的即向同义词开放,也对非同义词开放

拉链法

这种不仅要串起来,还会排个序,不过也可以不排序

线性探测法的小例子

这里第2行是余数,第三行是查找次数

然后是找失败的,找空位置

装填因子

装填因子就是看表放的多满,这里4/7

 散列函数如果是对2取余肯定比对100取余更容易发生冲突

做题

1

2

这里到索引为4的时候,是逻辑删除,并不是真正的删除,所以还得往后查找,查找到索引0是空,所以查找了2次

c

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dtcms.com/a/250857.html

相关文章:

  • 【数据结构中的堆】
  • 理解ES6中的Promise
  • Linux服务器运维常用命令大全
  • 不同conda 不同cuda版本方法
  • /etc/profile.d/conda.sh: No such file or directory : numeric argument required
  • Python基础教学:航天工程领域的精确计算和金融领域的精确计算,分别采用的小数保留位数的方法有哪些?有什么区别?-由Deepseek产生
  • Oracle03-PL/SQL Developer
  • Vue学习001-创建 Vue 应用
  • 循环神经网络及其变体
  • Python+QT远程控制助手-ver2
  • Dify 插件工具:远程连接配置指南
  • NY271NY274美光科技固态NY278NY284
  • 车载通信架构 --- IP ECU 在连接被拒绝后的重连机制
  • C++第一阶段——语言基础与核心特性
  • 项目 : 基于正倒排的boost搜索引擎
  • AI for Science:智能科技如何重塑科学研究
  • 基于机器学习的逐巷充填开采岩层运动地表沉降预测
  • 408第一季 - 数据结构 - B树与B+树
  • Spring Boot Web 应用开发
  • 6,TCP客户端
  • 【技术实战】工业级设备健康管理系统搭建全栈指南:从数据采集到预测性维护
  • LeetCode 2300.咒语和药水的成功对数
  • Java面试题:分布式ID时钟回拨怎么处理?序列号耗尽了怎么办?
  • 香橙派Zero3结合Docker部署私有音乐实践过程
  • vscode通过ssh连接
  • Flink与Kubernetes集成
  • RV1126+OPENCV对视频流单独进行视频膨胀/腐蚀操作
  • 微软Bing正式推出AI视频生成工具:Bing Video Creator,由Sora技术驱动,限时免费体验!
  • Docker + PyFlink1.17 数据写入 MySQL
  • 05-mcp-server案例分享-用豆包大模型 1.6 手搓文生图视频 MCP-server发布到PyPI官网