python冒泡法程式設計 Python實現氣泡排序法

2021-10-13 02:49:35 字數 630 閱讀 3676

python氣泡排序演算法的運作如下:

1.比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。

2.對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。這步做完後,最後的元素會是最大的數。

3.針對所有的元素重複以上的步驟,除了最後乙個。

4.持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。

最優時間複雜度o(n)

最差時間複雜度o(n^2)

#! /usr/bin/env python

# -*- coding: utf-8 -*-

def bubble_sort(l):

length = len(l)

for i in xrange(length-1, 0, -1):

for j in xrange(i):

if l[j] > l[j+1]:

l[j], l[j+1] = l[j+1], l[j]

if __name__ == "__main__":

l1 = [3, 1, 2, 4, 9, 8, 6, 7, 5]

print l1

bubble_sort(l1)

print l1

python 的詳細介紹:請點這裡

Python程式設計排序 氣泡排序法

氣泡排序法定義 它重複地比較要排序的所有元素列,如果順序 如從大到小 首字母從z到a 錯誤就把他們交換過來。比較元素的工作是重複地進行直到沒有相鄰元素需要交換,排序完成。氣泡排序1每次找出最大值 def bubble sort biggest a for i in range 0 len a 1 p...

python實現牛頓法 牛頓迭代法Python實現

例1 給定方程 f x x 2 sin x 1 0 判別該方程有幾個實根,並用牛頓法求出方程所有實根,精確到 10 解 利用畫圖法觀察根的所在區間為 2,1 和 0,1 其中藍色為 y f x 的曲線,橘黃色的直線是 y 0 畫圖 import numpy as np import matplotl...

冒泡法python實現

usr bin env python coding utf8 def bubble sort alist 結算列表的長度 n len alist 外層迴圈控制從頭走到尾的次數 for j in range n 1 用乙個count記錄一共交換的次數,可以排除已經是排好的序列 count 0 內層迴圈...