搜索算法01----顺序搜索最小项

为了简单,函数处理的是一个整数列表。
这个算法假设列表不为空,并且其中的项的顺序是随机的。

过程:
1.讲列表的第一项当作最小项
2.向右搜索以寻找更小的项
3.若找到了,则将最小项的位置重置为当前位置
4.return最小值

def ourMin(lyst):
    minpos = 0
    current = 1
    while current < len(lyst):
        if lyst[current] < lyst[minpos]:
            minpos = current
        current += 1
    return minpos



利用以上思路编写的顺序搜索一个列表

def linearSearch(target, lyst, profiler):
    """Returns the position of the target item if found,
    or -1 otherwise."""
    position = 0
    while position < len(lyst):
        profiler.comparison()
        if target == lyst[position]:
            return position
        position += 1
    return -1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值