第七章:查找技术--知识点回顾

本文深入探讨了查找技术的基本概念、线性表与树表的查找方法、散列表的应用,详细介绍了顺序查找、折半查找、二叉排序树查找等算法,并分析了它们的性能与优缺点。

查找技术

1.基本概念需要熟记:例如:查找(包括:关键码、键值、主关键码、次关键码、静态查找、动态查找等等)

2.三大表:线性表:适用于静态查找,主要采用顺序查找技术和折半查找技术

                 树表:适用于动态查找,主要采用二叉排序树的查找技术

                 散列表:静态查找和动态查找均适用,主要采用散列技术

3.查找算法的性能:平均查找长度(公式熟记并能使用)

                               顺序查找(线性查找):基本思想:从线性表的一端逐个将关键码与给定值进行比较,若相                                            等,则查找成功,给出该记录在表中的位置;若整个表检测完仍未找到与给定值相等的关键码,                                      则查找失败,给出失败信息!

例子及算法:



改进的顺序查找:

基本思想:设置待查值,将他放在查找方向的尽头处,免去了在查找过程中每一次比较后都要判断查  找位置是否越界,从而提高查找速度




ASL=O(n)

顺序查找的优缺点(略)

折半查找(重点):

使用条件:

      线性表中的记录必须按关键码有序

      必须采用顺序存储

基本思想(了解就好)

例子:


有两种算法可以实现:递归和非递归算法

判定树(了解就好)

 

7.3树表的查找技术

二叉排序树

定义(递归)、存储结构;

插入算法;

删除:三种情况:删除的结点是叶子/删除的结点只有左子树或者只有右子树/删除的结点既有左子树又有右子树

查找:代码的实现!



 

ASL的计算!

平衡二叉树(很重要):定义、平衡因子、基本思想、构造平衡树(LLRRLRRL型)

构造平衡树的例子:


散列表的查找技术:

散列表的概念、散列函数、散列地址、冲突

直接定址法、除留余数法、数字分析法、平方取中法、折叠法、开放地址法







评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值