静态查找

静态查找(Static Search):在查找时只对数据元素进行查询或检索,查找表称为静态查找表。

动态查找(Dynamic Search):在实施查找的同时,插入查找表中不存在的记录,或从查找表中删除已存在的某个记录,查找表称为动态查找表。

顺序查找(Sequential Search):

查找思想:        

从表的一端开始逐个将记录的关键字和给定K值进行比较,若某个记录的关键字和给定K值相等,查找成功;否则,若扫描完整个表,仍然没有找到相应的记录,则查找失败。

折半查找(Binary Search)

前提条件:查找表中的所有记录是按关键字有序(升序或降序) 。

查找思想:

用Low、High和Mid表示待查找区间的下界、上界和中间位置指针,初值为Low=1,High=n。

⑴   取中间位置Mid:Mid=ë(Low+High)/2û;

⑵   比较中间位置记录的关键字与给定的K值:

①  相等: 查找成功;

②  大于:待查记录在区间的前半段,修改上界指针: High=Mid-1,转⑴ ;

③  小于:待查记录在区间的后半段,修改下界指针:Low=Mid+1,转⑴ ;

直到越界(Low>High),查找失败。

分块查找:(Blocking Search)又称索引顺序查找,是前面两种查找方法的综合。

查找表的组织:

①  将查找表分成几块。块间有序,即第i+1块的所有记录关键字均大于(或小于)第i块记录关键字;块内无序。

② 在查找表的基础上附加一个索引表,索引表是按关键字有序的,索引表中记录的构成是:最大关键字,起始指针;

查找思想:

先用二分法确定待查记录所在块,再在块内查找(顺序查找)。

Fibonacci查找:(没看懂)

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值