数据结构||第七章小结
本章学习了查找数据的操作和方法,介绍了对查找表的查找,查找表主要包括3种不同结构:线性表、树表和散列表。
重点知识
- 线性表的查找,主要包括顺序查找、折半查找、分块查找
- 树表的查找,树表的结构主要包括二叉排序树(形态均匀时性能最好,形态为单支树时查找性能则退化为与顺序查找相同)、平衡二叉树、B-树(平衡的多叉查找树,是一种在外存文件系统中常用的动态索引技术)和B+树(B-树变型树,适合做文件系统索引)
(四种常见的查找方法对比如上)
- 散列表的查找,散列表属于线性结构。运用散列查找法主要研究两方面的问题——如何构造散列函数、如何处理冲突
- 构造散列函数:数字分析法、平方取中法、折叠法、除留余数法(最常用,计算简单,适用范围广)——假设散列表表长为m,选择一个不大于m的数p,用p去除关键字,除后所得余数为散列地址,即H(key)=key%p
- 处理冲突:开放地址法和链地址法