Python是一種流行的編程語言,它擁有強大的算法庫。在本文中,我們將介紹Python中幾個常見的算法。
# 快速排序 def quicksort(array): if len(array)< 2: return array else: pivot = array[0] less = [i for i in array[1:] if i<= pivot] greater = [i for i in array[1:] if i >pivot] return quicksort(less) + [pivot] + quicksort(greater) print(quicksort([10, 5, 2, 3])) # [2, 3, 5, 10]
快速排序算法是一種非常高效的排序算法。它的時間復雜度為O(nlogn)。它的基本思想是選擇一個基準元素,將數組分成兩個子數組,其中一個子數組中的元素均比基準元素小,而另一個子數組中的元素均比基準元素大。
# 二分查找 def binary_search(array, item): low = 0 high = len(array) - 1 while low<= high: mid = (low + high) // 2 guess = array[mid] if guess == item: return mid if guess >item: high = mid - 1 else: low = mid + 1 return None my_list = [1, 3, 5, 7, 9] print(binary_search(my_list, 3)) # 1 print(binary_search(my_list, -1)) # None
二分查找算法是一種高效的查找算法。它的時間復雜度為O(logn)。它的基本思想是將有序數組分為兩半,如果中間元素不是要查找的元素,則將查找范圍縮小到另外的一半。
# 斐波那契數列 def fibonacci(n): if n<= 1: return n else: return fibonacci(n-1) + fibonacci(n-2) print(fibonacci(6)) # 8
斐波那契數列是一個非常簡單的數列。它的每個數字都是前兩個數字的和。斐波那契數列也可以使用遞歸來實現。
以上是Python中幾個常見的算法。這些算法在編寫程序時非常有用,可以使我們的代碼更加高效和可靠。