0
点赞
收藏
分享

微信扫一扫

Python初级笔记4 排序

Brose 04-12 10:30 阅读 1

冒泡排序

# 时间复杂度 O(1) O(logN) O(n)
# 空间复杂度
a=[1,2,7,8,9,65,4,11]
for i in range(0,len(a)-1):
    for j in range(0,len(a)-1):
        if a[j]<= a[j+1]:
            a[j],a[j+1]=a[j+1],a[j]
        else:
            pass
print(a)#时间复杂度=O(n^2)

选择排序

a=[1,2,7,8,9,20,65,4,5,11]
for i in range(0,len(a)):
    index=i
    for j in range(i,len(a)):
        if a[index]>a[j]:
            a[index],a[j]=a[j],a[index]
        else:
            pass
print(a)
a=[1,2,7,8,9,20,65,4,5,11,11,3,13,27]
for i in range(0,len(a)):
    for j in range(i,len(a)):
        if a[i]>a[j]:
            a[i],a[j]=a[j],a[i]
        else:
            pass
print(a)

插入排序

a=[11,53,1,4,8,4,9,19,22,13]
for i in range(0,len(a)-1):
    for j in range(i+1,0,-1):
        if a[j]<a[j-1]:
            a[j],a[j-1]=a[j-1],a[j]
print(a)

二分查找法

a=[1,2,5,7,11,14,19,24,28,35,48,56,61,77,101]
item=int (input("enter the num="))
l=0
r=len(a)-1
while r>=l:
    mid=int((r+l)/2)
    g=a[mid]
    if item==g:
        print(mid)
        break
    elif item>g:
        l=mid+1
    elif item<g:
        r=mid-1
else:
     print("we don't have the num")
举报

相关推荐

0 条评论