python實作冒泡排序

高洛峰
發布: 2016-10-19 17:23:16
原創
1386 人瀏覽過

python演算法 - python實作冒泡排序

冒泡排序的運算原理:

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

對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數字。

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

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


實例代碼

# -*- encoding: utf-8 -*-


def bubble_sort(seq, cmp=cmp):p.=cmp):

   BUBBLESORT(A)

   1  for i ← 1 to length[A]

   2    do for j -1]

4        then exchange A[j] ↔ A[j-1]

   T(n) = θ(n^2) ): 一個序列物件。 cmp (Function): 比較函數。

       return None

   length = len(seq)


   for i in range(length):

      for in range(leng-1, if seq[j]                seq[j], seq[j-1] = seq[j-1], seq[j]

__

🎝 __main__':

   import random, timeit

   items = range(10000)

   random.sh     print(items)

       sorted_items = sorted(items)

print(sorted_items)

   def test_bubble_sort():

       print(items)

  print(sorted_items)


   test_methods = [test_sorted, test_bubble_sort]

   for test in test_methods:

       name = test.__name__ # test.func_name

       t = timeit.Timer(name + '()', 'from __main__name import 長度: %f' % t.timeit(1))


相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板