002.【查找算法】顺序查找算法

1. 顺序查找算法

顺序查找又称为线性查找,是最简单的查找算法。这种算法就是按照数据的顺序一项一项逐个查找,所以不管数据顺序如何,都得从头到尾遍历一次。顺序查找的有点就是数据再查找前,不需要对其进行任何处理(包括排序)。缺点是查找速度慢,如果数据列的第一个数据就是想要查找的数据,则该算法查找速度为最快,只需要查找一次即可;如果查找的数据是数据列的最后一个,则该查找算法为最慢,需要查找 n 次,甚至还会出现未找到数据的情况。

所以,顺序查找只适用于查找较少的数据列。当查找数据较多时,用顺序查找就不太合适。

2. 查找随机生成数

问题:随机从1~100之间生成50个整数,并将随机生成的这50个数显示出来,然后用顺序查找算法查找“75、94、50”这个几个数据的位置。

import random           												# 导入随机数模块

num = 0                 												# 定义变量num
data = [0] * 50         												# 定义数组
for i in range(50):     												# 遍历随机生成50个数
    data[i] = random.randint(1, 100)        							# 1~100之间随机生成
print("随机产生的数据内容是:")

for i in range(10):     												# 遍历行
    for j in range(5):  												# 遍历列
        print('%2d[%3d] ' % (i * 5 + j + 1, data[i * 5 + j]), end='')  	# 按格式输出随机生成内容,取消自动换行
    print('')           												# 默认带换行

while num != -1:        												# 循环输入
    find = 0            												# 比较次数
    num = int(input("请输入想要查找的数据,输入-1退出程序:"))              	# 数据输入
    for i in range(50):                 								# 循环遍历50个随机数
        if data[i] == num:              								# 判断如果输入数据和data数据相等
            print("在", i + 1, "个位置找到数据", data[i])                	# 输出找到的位置和数据内容
            find += 1                   								# 比较次数加1
    if find == 0 and num != -1:         								# 判断比较次数是0且输入数据不是-1
        print("没有找到", num, "此数据")   								# 提示没有找到数据
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值