python 常见的查找方法

       根据数据量的大小,我们可将查找分为内部查找和外部查找。

  • 内部查找:数据量小的文件可以一次性全部加载到内存中进行查找。
  • 外部查找:数据量大的文件无法一次性加载到内存中处理,而需要使用辅助存储器来分次处理

       如果从另外一个角度来看,查找的技巧又可分为“静态查找”和“动态查找”两种。

  • 静态查找:在查找过程中,查找的表格或文件的内容不会被改动,例如符号表示的查找就是一种静态查找。
  • 动态查找:在查找过程中,查找的表格或文件的内容可能会被改动,例如在树状结构中所谈的B-Tree查找就是一种动态查找。

       查找技巧比较常见的方法有顺序法、二分查找法、斐波拉契法、插值法、哈希法等

一、顺序查找法(线性查找法) 

       顺序查找法是将数据一项一项地按顺序逐个查找,无论数据的顺序怎么样,都是从头到尾遍历一次。此方法的优点是文件在查找前不需要进行任何处理与排序,缺点是查找速度比较慢。时间复杂度为O(n)。

import random
data=[0]*80
for i in range(80):
	data[i]=random.randint(1,150)
def order_Search(val):
	find=0
	for i in range(80):
		if data[i]==val:
			print('在第%d个位置找到键值[%d]'%(i+1,data[i]))
			find=1
	if find==0:
		print('没有找到')

二、二分查找法<

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值