ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

算法学习

2022-03-08 01:33:54  阅读:161  来源: 互联网

标签:erfenfa 二分法 end mid 学习 start 算法 lis


#二分法
def erfenfa(lis,target):
    start,end=0,len(lis)-1
    while True:
        if end-start<=1:
            if target==lis[start]:
                return start
            elif target==lis[end]:
                return end
            else:
                return -1
        mid = (start+end)//2
        if lis[mid] <=target:
            start = mid
        else:
            end = mid


lis=[1,2,3,5,7,8]

print(erfenfa(lis,9))



# 快速排序法
def quick(arr):
    if not arr:
        return []
    mid = arr[0]
    left = quick([i for i in arr[1:] if i<mid])
    right = quick([i for i in arr[1:] if i>=mid])
    return left + [mid] + right


lis = [1,3,5,7,2,43,4,8,5,3,1]
print(quick(lis))

标签:erfenfa,二分法,end,mid,学习,start,算法,lis
来源: https://www.cnblogs.com/johnsonbug/p/15978840.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有