📅  最后修改于: 2023-12-03 15:40:01.651000             🧑  作者: Mango
本系列共包含33套数据结构和算法题目,涵盖了常见的数据结构和算法知识点,适用于程序员们的练习和学习。
本系列包含以下数据结构:
本系列包含以下算法:
下列是该系列中的一些典型题目:
实现一个快速排序算法。
def quick_sort(arr, left, right):
if left < right:
mid = partition(arr, left, right)
quick_sort(arr, left, mid-1)
quick_sort(arr, mid+1, right)
def partition(arr, left, right):
pivot = arr[left]
while left < right:
while left < right and arr[right] >= pivot:
right -= 1
arr[left] = arr[right]
while left < right and arr[left] <= pivot:
left += 1
arr[right] = arr[left]
arr[left] = pivot
return left
实现一个二分查找算法。
def binary_search(arr, target):
left, right = 0, len(arr)-1
while left <= right:
mid = (left + right) // 2
if arr[mid] == target:
return mid
elif arr[mid] < target:
left = mid + 1
else:
right = mid - 1
return -1
下列是该系列中的一些典型测试用例:
测试快速排序算法。
arr = [3, 2, 1, 5, 6, 4]
quick_sort(arr, 0, len(arr)-1)
print(arr) # [1, 2, 3, 4, 5, 6]
测试二分查找算法。
arr = [1, 2, 3, 4, 5, 6]
target = 4
print(binary_search(arr, target)) # 3