【LeetCode】顺序查找(Python版)
发布日期:2021-05-08 05:47:53 浏览次数:16 分类:精选文章

本文共 1247 字,大约阅读时间需要 4 分钟。

一、顺序查找

顺序查找属于静态查找。因为顺序查找是按照从头到尾的方法查找特定数,所以也可以不对数列进行排序,直接开始查找。为了样式的统一,这里还是采用了有序的数列。以iList数列为例,顺序查找最坏的情况需要查找len(iList)次才能找到目标或者确认数列中没有目标。

二、界面输出显示

在这里插入图片描述

三、代码实现

import randomimport timeitdef randomList(n):    iList = []    for i in range(n):        iList.append(random.randrange(0,1000))    return iListdef quicksort(iList):    if(len(iList)<=1):        return iList    left = []    right = []    for i in iList[1:]:        if i<=iList[0]:            left.append(i)        else :            right.append(i)     return quicksort(left)+[iList[0]]+quicksort(right)def sequentialSearch(iList,key):    #print("iList is: %s" %str(iList))    #print("find the number: %d" %key)    ilen = len(iList)    for i in range(ilen):        #print(iList[i])        #print(key)        if iList[i] == key:            return i            #print(i)    return -1if __name__ == "__main__":    iList = randomList(20)    keys=[random.choice(iList),random.randrange(min(iList),max(iList))]    for key in keys:        num = sequentialSearch(iList,key)        if(num>=0):            print("%d number is %d\n"%(key,num))        else:            print("%d the key number is not find\n"%key)    #print(timeit.timeit("selectsort(iList)","from __main__ import selectsort,iList",number=100))
上一篇:【LeetCode】二分法查找(Python版)
下一篇:【LeetCode】归并排序(python版)

发表评论

最新留言

表示我来过!
[***.240.166.169]2025年03月24日 17时42分27秒