python 基本算法(顺序查找)

一,顺序查找

查找算法是程序中经常用到的算法。假定要从n个元素中查找 x 的值是否存在,最原始的方法是从头到尾挨个查找,这种查找的方法叫顺序查找方法。

顺序查找有三种情形可能发生:最好的情况,第一项就是要查找的数据对象,只有一次比较,最差的情况,需要 n 次比较,全部比较完之后找不到数据。平均情况下,比较次数为 n/2 次。算法的时间复杂度是 O(n) .

例 : 在列表中查找 x 是否存在

def sequest(alist, item):
    pos=0 #初始查找位置
    found=False   #未找到数据对象
    while pos<len(alist) and not found:  # 列表未结束并且还未找到则一直循环
        if alist[pos] == item:     # 找到匹配对象,返回TRUE
            found=True
        else:       #否则查找位置  + 1 
            pos = pos+1
    return found
def main():
    testlist=[1,3,5,6,7,8,9,11,23,44]
    print(sequest(testlist,11))
if __name__=='__main__':
    main()

例 : 在列表顺序中 查找最大值和最小值

def Max(alist):
    pos = 0    #初始位置
    imax=alist[0]  #假设第一个元素是最大值
    while pos < len(alist):   #在列表中循环
        if alist[pos] > imax:  #当前列表的值大于最大值 ,则为最大值
            imax=alist[pos]
        pos = pos+1  #查找位置 +1 
    return imax
def Min(alist):
    pos = 0   # 初始位置
    imin = alist[0]   #假设第一个元素是最小值   
    for item in alist:  #对于列表中的每一个值
        if item < imin:  #当前的值小于最小的值 则为最小值
            imin = item
    return imin
def main():
    testlist=[2,3,4,5,6,8,34,23,55,234]
    print('最大值是:',Max(testlist))
    print('最小值是:',Min(testlist))
if __name__=='__main__':
    main()
    

 

    原文作者:查找算法
    原文地址: https://blog.csdn.net/W1517055683/article/details/84641720
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞