Python 是一種高級(jí)語(yǔ)言,因其易于學(xué)習(xí)、編寫代碼的清晰度高,以及許多流行程序庫(kù)的支持而備受推崇。特別是在算法領(lǐng)域,Python 提供了很多有用的庫(kù)和內(nèi)置函數(shù)。在本文中,我們將介紹使用 Python 編寫的一些常見(jiàn)算法小程序,幫助你更好地理解和掌握它們。
1.冒泡排序
def bubbleSort(arr): n = len(arr) for i in range(n-1): for j in range(0, n-i-1): if arr[j] >arr[j+1] : arr[j], arr[j+1] = arr[j+1], arr[j]
2.選擇排序
def selectionSort(arr): for i in range(len(arr)): min_idx = i for j in range(i+1, len(arr)): if arr[min_idx] >arr[j]: min_idx = j arr[i], arr[min_idx] = arr[min_idx], arr[i]
3.插入排序
def insertionSort(arr): for i in range(1, len(arr)): key = arr[i] j = i-1 while j >=0 and key< arr[j] : arr[j+1] = arr[j] j -= 1 arr[j+1] = key
4.遞歸算法
def Fibonacci(n): if n<=0: print("Incorrect input") elif n==1: return 0 elif n==2: return 1 else: return Fibonacci(n-1)+Fibonacci(n-2)
5.回溯算法
def permute(nums): def backtrack(first): if first == n: output.append(nums[:]) for i in range(first, n): nums[first], nums[i] = nums[i], nums[first] backtrack(first + 1) nums[first], nums[i] = nums[i], nums[first] n = len(nums) output = [] backtrack(0) return output
總結(jié)
以上是一些常見(jiàn)的 Python 算法小程序。當(dāng)然,這里只是羅列了一部分,并不全面。希望它們能夠?qū)δ阌兴鶐椭O嘈旁诓粩嗟木毩?xí)中,你可以更好地理解和掌握這些算法。