第七章 查找 学习小结

首先先用一个表格大概罗列一下几种查找方法的特点

  顺序查找 折半查找 二叉排序树查找
查找时间复杂度 O(n) O(log2n) O(log2n)
特点 算法简单,但查找效率低 对表结构要求高,查找效率高

数据结构采用二叉链表表示

插入和删除只需移动指针

适用情况 不经常做插入和删除 有序的顺序表 经常做插入和删除地动态查找表

线性表的查找

(1)顺序查找

顺序查找比较简单直观,但也有技巧,如通过设置监视哨,免去查找过程中每一步都要检测整个表是否查找完毕。

 

(2)折半查找(二分查找)

这种查找方式效率较高,但必须是对于有序的顺序表

 

(3)分块查找

将表分为多个子表,建立索引项2记录子表最大关键字和起始地址,保证后一个子表的所有关键字均大于前一个子表中的最大关键字,

则可根据给定的key值在相应范围内的子表中查找。

 

树表的查找

(1)二叉排序树

1>若它的左子树不空,则左子树上所有结点的值均小于它的根节点的值

2>若它的右子树不空,则右子树上所有结点的值均大于它的根节点的值

3>它的左右子树也分别为二叉排序树

空树也为二叉排序树

 

(2)平衡二叉树

满足

1>左子树和右子树的深度之差的绝对值不超过1

2>左子树和右子树也是平衡二叉树

的二叉排序树为 平衡二叉树

空树也为平衡二叉树

 

 

散列表的查找

定义:元素的储存位置和其关键字之间建立某种直接关系 ,那么在进行查找时就无需做比较或做很少次的比较,

           按照这种关系直接由关键字找到相应的记录。

构造方法

1>数字分析法

2>平方取中法

3>折叠法

4>除留余数法

 

补充:作业中提及召回率

 

如上图所示 召回率R=A/(A+C)

 

posted @ 2019-06-02 16:27  刘恒盛  阅读(184)  评论(0编辑  收藏  举报