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

常用的数据结构

队列(FIFO)

栈(LIFO)

链表

hash表

  • hash冲突处理
    • 开放式寻址
      • 线性探测
        • 表示依次检查索引为 hash(key) + 1hash(key) + 2 ... 的位置。
        • i 是冲突后的探查步数。
        • 公式:hash(i) = (hash(key) + i) % TableSize
      • 二次探查
        • 规则:冲突后探查的步长是平方递增的,例如,检查位置为 hash(key) + 1²hash(key) + 2² 等。
        • 公式:hash(i) = (hash(key) + i²) % TableSize
      • 双重hash
        • 规则:采用第二个哈希函数来确定探查的步长。
        • 公式:hash(i) = (hash1(key) + i * hash2(key)) % TableSize
          • hash1(key) 是主哈希函数。
          • hash2(key) 是辅助哈希函数,通常选择 hash2(key) = 1 + (key % (TableSize - 1)),确保探查步长不为零。
    • 使用链表

</


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

相关文章:

  • Sourcetree:一款强大的Git客户端
  • PYTORCH基础语法知识
  • 101页PDF | 德勤_XX集团信息化顶层规划设计信息化总体解决方案(限免下载)
  • vscode自动打印日志插件
  • JavaScript 中通过Array.sort() 实现多字段排序、排序稳定性、随机排序洗牌算法、优化排序性能,JS中排序算法的使用详解(附实际应用代码)
  • Java 基于SpringBoot+Vue的家政服务管理平台
  • llama-factory 系列教程 (七),Qwen2.5-7B-Instruct 模型微调与vllm部署详细流程实战
  • Springboot 整合 Java DL4J 构建自然语言处理之机器翻译系统
  • 实现一个可配置的TCP设备模拟器,支持交互和解析配置
  • Linux下环境基础开放工具
  • 林业产品推荐系统:Spring Boot解决方案
  • flink学习(7)——window
  • 基于SpringBoot+Vue的智慧社区网站-无偿分享 (附源码+LW+调试)
  • 企业后端多租户管理平台
  • Redis底层数据结构
  • c++音视频学习环境搭建
  • 如何还原 HTTP 请求日志中的 URL 编码参数?详解 %40 到 @
  • 全渠道供应链变革下“小程序 AI 智能名片 S2B2C 商城系统”的赋能与突破
  • Jmeter中的测试片段和非测试原件
  • 网络安全加解密原理
  • Springboot项目搭建(5)-前端注册界面
  • 十九:HTTP包体的传输方式(2):不定长包体
  • Vue 中父子组件间的参数传递与方法调用
  • sed awk 第二版学习(十一)—— 交互式拼写检查器 spellcheck.awk
  • uni-app 发布媒介功能(自由选择媒介类型的内容) 设计
  • Testbench仿真脚本编写指北