大学计算机类数据结构查找原理例题期末考研必会【查找原理】

本文详细介绍了顺序查找(线性查找)的工作原理,包括查找过程示例,并深入剖析了二分查找(折半查找)在有序数组中的高效应用。通过查找33和12的实例,展示了两种查找方法的步骤和结果。此外,还提及了分块查找在有序分块中的应用。
摘要由CSDN通过智能技术生成

顺序查找/线性查找
原理:望文生义即可了解。
注:第一个数存储于数组的第零个。
33,10,13,29,16,19,32,7,43,41,37
查找43的查找顺序为33,10,13,29,16,19,32,7,43。查找9次,成功。
查找66的查找顺序为33,10,13,29,16,19,32,7,43,41,37。查找11次,失败。
二分查找/折半查找
原理:查找数位于(左侧边界位置+右侧边界位置)/2。
注:奇数除以二采用下取整(严老师版本)。仅适用于有序的顺序表。
在这里插入图片描述

7,10,13,16,19,29,32,33,37,41,43
查找33:
1.mid=(low+high)/2=(0+10)/2=5–>29 33在29的右边,令low右移到mid右边一个单位,即为第6个。
2.low=mid+1=6 mid=(6+10)/2 =8—>37 33在37的左边,令high右移到mid左边一个单位,即为第7个。
3.high=mid-1=7 mid=(6+9)/2=6—>32
4.low=mid+1=7 mid=(7+7)/2=7—>33 查找4次,查找成功。
查找12:
1.mid=(low + high)/2= 5–>29 12<29
2.high=mid-1=4 mid=(low + high)/2=2—>13
3.high=mid-1=1 mid=(low + high)/2=0—>7
4.low=mid+1=1 mid=(low + high)/2=1—>10
“5”low=mid+1=2 low>high (不记次数),查找4次, 查找失败
分块查找/索引顺序查找
原理:块内无序、块间有序;
①在索引表中确定待查记录所属的分块(顺序/折半)
②在块内顺序查找
7,10,13,19,16,20,27,22,30,40 ,36,43,50,48
看似无序,但是是分块区有序的,如下:
在这里插入图片描述
查找22:
1.块间:块10区,块20区,块30区;
2.块内:27,22 。查找5次,成功。
查找24:
1.块间:块10区,块20区,块30区;
2.块内:27,22 ,30。查找6次,失败。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值