简单算法Python实现
1.Euclid算法计算m和n的最大公约数
def euclid(m,n): while m > 0: r = n % m n = m m = r return n m = input("m:") n = input("n:") print euclid(m,n)
2.顺序检索算法Search
def search(L,x): j=0 n=len(L) while j<n and x>L[j]: j +=1 if j>=n or x<L[j]: j=-1 return j L = [0,1,2,3,4,5,6,7,8,9] x=input("x:") y=search(L,x) print y+1
3.冒泡排序算法
def bubble(L,n): for i in range(n-1): for j in range(n-1-i): if L[j]>L[j+1]: L[j],L[j+1]=L[j+1],L[j] return L L = [1,5,11,2,49,22,12,23,12,0,8] n = len(L) print bubble(L,n)
Efficiency is intelligent laziness.