8 查找

本文详细介绍了顺序查找表、二分查找、二叉排序树(包括判断规则和二叉平衡树)、B-树以及Trie树的概念。重点探讨了哈希表的哈希函数、冲突现象及其处理方法,如开放定址法和链地址法,以及ASL(平均查找长度)的计算。
摘要由CSDN通过智能技术生成
  1. 静态查找表

    1. 顺序查找表 -就是遍历

    2. 有序查找表 -二分

    3. 静态查找树表

    4. 索引顺序表 -缩小区间

      -索引顺序查找的平均查找长度 = 查找“索引”的平均查找长度 + 查找“顺序表”的平均查找长度

  2. 动态查找树表

    1. 二叉排序树(二叉查找树)

      1. 如何判断是不是二叉排序树?

        左子树的节点的值均小于根节点,右子树的节点的值均大于根节点,子树同理

    2. 二叉平衡树

      1. 什么是二叉平衡树?

        首次是二叉排序树,

        其次左右子树的深度之差不大于1

      2. 构造二叉平衡(查找)树

        平衡旋转

    3. B - 树

      1. B-树是一种平衡的多路查找树
    4. B + 树

    5. 键树

      -Trie树

  3. 哈希表

    -哈希函数是一个映象,即:将关键字的集合映射到某个地址集合上

    -哈希函数是一个压缩映象,因此,在一般情况下,很容易产生“冲突”现象

    -构造哈希函数

    1. 直接定址法 h(k) = k * a + b (这个适用于给的值的范围和值的个数的相同)

    2. 数字分析法

    3. 平方取中法 关键字中的每一位都有某些数字重复出现频度很高的现象

    4. 折叠法 关键字的数字位数特别多

    5. 除留余数法

      H(key) = key MOD p
      p≤m (表长) 并且 p 应为不大于 m 的素数 或是 不含 20 以下的质因子

    6. 随机数法 用于对长度不等的关键字构造哈希函数

    -处理冲突

    1. 开放定址法

      Hi = ( H(key) + di ) MOD m

      d的三种取法:

      1. 线性探测再散列 di = i
      2. 平方探测再散列 di = 1^2, -1^2, 2^2, -2^2, …,
      3. 随机探测再散列 di 是一组伪随机数列 或者 di=i×H2(key) (又称双散列函数探测)
    2. 链地址法

      将所有哈希地址相同的记录都链接在同一链表中

    -ASL 哈希表的ASL是处理冲突方法和装载因子的函数

    ​ ASL = (关键字和哈希表中的字符进行比较的次数之和)/ 关键字的个数

  • 9
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cwn_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值