三大基础查找(顺序、二分、分块)

本文介绍了数据结构与算法中的三大基础查找方法:顺序查找、折半(二分)查找和分块(索引)查找。顺序查找适用于无序数据,二分查找需数据有序,能有效减少查找次数,而分块查找通过建立索引表加速查找过程。文章还探讨了各种查找方法的优缺点及适用场景。
摘要由CSDN通过智能技术生成

目录

前言

一、查找的基本概念

1.静态和动态查找

2.内查找和外查找

3.平均查找长度ASL

二、三大基础查找

1.顺序查找

2.折半(二分)查找

3.分块(索引)查找


前言

  查找和排序是数据结构与算法中不可或缺的一环,是前辈们在算法道路上留下的重要且方便的一些技巧,学习这些经典的查找和排序也能让我们更好和更快的解决问题。在这个专栏中我们会学习六大查找和十大排序,而本篇将详细讲解其中的三大基础查找——顺序查找、折半(二分)查找、分块(索引)查找


一、查找的基本概念

这些概念非常的简单,我们只需要快速的过一遍即可;

1.静态和动态查找

  • 静态查找:数据集合相对来说比较稳定,不需要进行插入和删除;
  • 动态查找:在查找的过程中同时需要插入和删除的操作;

2.内查找和外查找

  • 在内存中进行的是内查找;
  • 在外存(硬盘)中进行的是外查找;

3.平均查找长度ASL

  • 也就是评判查找的效率的要素,越小越好,其中N是查寻元素的个数,P是查到概率,Pi=1/n,通常假设每个元素查找概率相同,C是找到第 i 个元素的次数;

ASL=\sum_{i=1}^{N}Pi * Ci

二、三大基础查找

1.顺序查找

顺序查找那是非常的简单,就是用 for循环遍历数据去判断就行了; 虽然顺序查找简单,但它是唯一 一 个可以针对于无序的数据进行查找;

即使是顺序查找也是有优化的方法的,这里还可以提一句,我们针对一个查找算法进行优化就是减小在上文中提到的平均查找长度ASL;(在真实项目中)那么对于顺序查找而言我们只需要在插入数据的时候把相对被查找概率大的数据放在前面;

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZER00000001

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值