【数据结构十七】B树与B+树,散列查找概念以及解决冲突几种方法

71 阅读1分钟

B树

  • 概念

图片.png

图片.png

  • 查找效率

图片.png

  • B树的高度

图片.png

  • B树的插入

图片.png

  • 总结

图片.png

B树和B+树的区别

图片.png

散列查找

  • 概念:

    • 散列表(Hash Table):又称哈希表,是一种数据结构,特点是:数据元素的关键字与其存储地址直接相关
    • 白话:数据元素的关键字与实际存储地址有一个映射关系
    • 通过“散列函数(哈希函数)”:Addr=H(key)
  • tip:

    • 不同关键字通过散列函数映射到同一个值,则称它们是“同义词
    • 通过散列函数确定的位置已经存放了其他元素,则称之为“冲突
  • 拉链法(链接法、链地址法):处理“冲突”:把所有“同义词”存储在一个链表

图片.png

  • 查找成功的概率

图片.png

  • 查找失败的概率

图片.png

  • 常见的散列函数:要结合实际的关键字分布特点来考虑,不要教条化

(1) 图片.png

(2) 图片.png

(3)

图片.png

(4)

图片.png

散列查找是典型的“用空间换时间”的算法,只要散列函数设计的合理,则散列表越长,冲突的概率就越低

  • 处理“冲突”方法2:开放定址法

图片.png

图片.png

  • 总结:

图片.png