基本的搜索和排序方法总结:有序查找,无序查找,二分查找(顺序查找对分查找)

网友投稿 298 2022-09-06


基本的搜索和排序方法总结:有序查找,无序查找,二分查找(顺序查找对分查找)

有序查找,无序查找,二分查找总结

基本排序方法:

​​有序查找,无序查找,二分查找总结​​

​​无序查找​​​​有序查找​​​​二分查找​​

无序查找

其实大部分的查找方法,都是通过先定义初始的 found=False,然后一旦查找到之后,found变为True:

def sequential(alist,item): pos=0 found=False while pos

有序查找

在最好的情况下,有序查找只需要比较一次就能知道目标元素不在列表中,平均情况下需要比较n/2次,不过算法的复杂度仍然是O(n)。总之,只有当列表中不存在目标元素时,有序查找才会提高查找的速率。

def youxu(alist,item): pos=0 found=False stop=False while positem: stop=True else: pos=pos+1 return foundprint(youxu([1,3,5,7],3))

二分查找

先从中间查找,如果目标元素大,则在右面找;反之在左边找:

def erfenchazhao(alist,item): first=0 last=len(alist)-1 found=False while first <=last and not found: midpoint=(first+last)//2 print(midpoint) if alist[midpoint] == item: found = True else: if item

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:人工智能线性代数基础:矩阵论——第二章 内积空间(线性代数第一章矩阵)
下一篇:解决springboot启动失败的问题(&apos;hibernate.dialect&apos; not set)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~