数据结构9-查找

本文介绍了数据结构中的查找技术,包括内部查找与外部查找,静态与动态查找的区分。重点讲解了常见的五种查找方法:顺序查找、二分查找、插入查找、斐波那契查找和哈希查找,详细阐述了每种方法的原理、优缺点及适用场景。
摘要由CSDN通过智能技术生成

9.查找

9.1 简介

查找是在一组数据中查找需要检索的数据,并输出他的位置。

查找按照数据量的大小分为内部查找和外部查找:

内部查找:数据量较小,可以直接载入内存进行查找;

外部查找:数据量较大的文件,无法一次载入内存处理,需要辅助存储器来分次处理。

根据在查找过程中查找的数据是否变动将查找区分为静态查找和动态查找:

静态查找:查找过程中,查找数据不会增加、删除或者更新等行为;

动态查找:查找过程中会经常性的增加、删除或更新。


9.2 常见的查找方法

常用的方法有:顺序查找、二分查找法、斐波那契法、插值查找法、哈希法等。

9.2.1 顺序查找法

顺序查找法又称为线性查找法,是一种简单的查找法。

他的思路是将数据按照顺序依次查找,不管数据顺序如何都要从头到尾遍历一次。

优点:文件在查找前不需要进行任何处理与排序;

缺点:查找速度慢。

特性:

1)时间复杂度,最差情况是未找到数据,但是比较了n次,时间复杂度为O(n);

2)在平均情况下,假设数据出现概率相等,需要(n+1)/2次查找;

3)数据量很大时候,不适合采用顺序查找法。

9.2.2 二分查找法

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值