欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

python 常見的算法

錢多多2年前9瀏覽0評論

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中幾個常見的算法。這些算法在編寫程序時非常有用,可以使我們的代碼更加高效和可靠。