编程语言
首页 > 编程语言> > 《数据结构》(C++)之第七章:查找技术

《数据结构》(C++)之第七章:查找技术

作者:互联网

7.1 概述

7.1.1 查找的基本概念
7.1.2 查找算法的性能

7.2 线性表的查找技术

7.2.1 顺序查找
1、顺序表的顺序查找
2、单链表的顺序查找
7.2.2 折半查找
1、执行过程
2、非递归算法
3、递归算法
4、性能分析

7.3 树表的查找技术(动态查找

7.3.1 二叉排序树
1、二叉排序树的插入(递归
2、二叉排序树的构造(非递归
3、二叉排序树的删除
4、二叉排序树的查找及性能分析
7.3.2 平衡二叉树

7.4 散列表的查找技术

7.4.1 概述
7.4.2 散列函数的设计
1、直接定址法
2、除留余数法
3、数字分析法
4、平方取中法
5、折叠法
7.4.2 处理冲突的方法
1、开放定址法(闭散列表)
2、拉链法/链地址法(开散列表)
7.4.4 散列查找的性能分析
7.4.5 开散列表与闭散列表的比较
类型 特点 优点 缺点 表容量 总结
开散列表 用链接方法存储同义词 1⃣ 不产生堆积现象 2⃣ 动态查找、插入、删除等基本操作实现,且平均查找长度较短 附加指针域增加了存储开销 无需事先确定表的容量(开散列表中个同义词子表的表长是动态变化的,更适合于事先难以估计容量的场景) 牺牲空间换时间
闭散列表 向后查找同义词 无附加指针,存储效率较高 1⃣ 堆积现象使查找效率降低 2⃣ 删除操作较复杂,运行一段时间后,需要经过整体整理,才能真正删除有标记的单元 必须事先估计容量 牺牲时间换空间

标签:结点,关键码,记录,C++,列表,查找,数据结构,散列
来源: https://blog.csdn.net/chileme/article/details/96101461