好的,让我们开始吧!
算法是一个计算过程,它包括一系列定义明确、有序的指令。这些指令消耗一些初始值,产生一些期望的输出结果,并且在有限时间内终止。
冒泡排序和快速排序是两种最常见的排序算法,用于对列表或数组进行排序。
冒泡排序(Bubble Sort)是一种简单的排序算法,它从左到右逐一比较相邻元素的值,并交换顺序错误的元素。这个过程会不断重复,直到整个列表按正确的顺序排序。以下是一个 Python 实现冒泡排序算法的示例代码:
- def bubble_sort(arr):
- n = len(arr)
- for i in range(n):
- for j in range(0, n-i-1):
- if arr[j] > arr[j+1] :
- arr[j], arr[j+1] = arr[j+1], arr[j]
- arr = [64, 34, 25, 12, 22, 11, 90]
- bubble_sort(arr)
- print("排序后的数组:")
- for i in range(len(arr)):
- print("%d" %arr[i]),
复制代码
快速排序(Quick Sort)是另一种常见的排序算法。它是一种具有分治思想的算法,先将列表中的一个元素选为“基准点”,然后将所有小于基准点的元素移动到基准点左侧,所有大于基准点的元素移动到基准点右侧。这个过程被称为分区(partition),之后递归调用分区函数对基准点两侧的子列表进行排序。以下是一个 Python 实现快速排序算法的示例代码:
- def quick_sort(arr):
- if len(arr) <= 1:
- return arr
- else:
- pivot = arr[0]
- left = []
- right = []
- for i in arr[1:]:
- if i < pivot:
- left.append(i)
- else:
- right.append(i)
- return quick_sort(left) + [pivot] + quick_sort(right)
- arr = [64, 34, 25, 12, 22, 11, 90]
- sorted_arr = quick_sort(arr)
- print("排序后的数组:")
- for i in range(len(sorted_arr)):
- print("%d" %sorted_arr[i]),
复制代码
希望这些简单的代码示例能够帮助初学者理解算法和 Python 编程语言的基础知识。 |