python 基本算法(顺序查找)

一,顺序查找

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

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

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

def sequest(alist, item):
    pos=0 #初始查找位置
    found=False   #未找到数据对象
    while pos

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

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()
    

 

你可能感兴趣的:(基础算法)