Python 冒泡排序
冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端。
实例
def bubbleSort(arr):
n = len(arr)
# 遍历所有数组元素
for i in range(n):
# Last i elements are already in place
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]
bubbleSort(arr)
print ("排序后的数组:")
for i in range(len(arr)):
print ("%d" %arr[i]),
执行以上代码输出结果为:
排序后的数组: 11 12 22 25 34 64 90
小花花
124***[email protected]
参考:
小花花
124***[email protected]
JonnyHuang
joo***[email protected]
可选择升序和降序。
JonnyHuang
joo***[email protected]
BetyOne
131***[email protected]
实现冒泡法排序时要考虑时间复杂度和空间复杂度是靠近O(1) ,还是接近O(n),甚至是O(n²),时间复杂度大的算法会增加计算机运行负荷,效率低下。尽量写出时间复杂度小的算法。
实例一:
实例二(最基础的if循环语句实现排序法)
实例三 (sort排序法)
多多练习各种排序法,不仅限于冒泡排序,分析计算他们的时间复杂度。
BetyOne
131***[email protected]