當前位置:首頁 » 編程語言 » Python排序演算法

Python排序演算法

發布時間: 2022-01-11 08:55:59

『壹』 怎樣用python將數組里的數從高到低排序

1、首先我們定義一個列表輸入一串大小不一的數字。

『貳』 Python選擇排序演算法 如何做!急求!!

#coding: utf-8
#!/usr/bin/python import random

#隨機生成0~100之間的數值def get_andomNumber(num):
lists=[]
i=0
while i<num:
lists.append(random.randint(0,100))
i+=1
return lists

# 選擇排序def select_sort(lists):
count = len(lists)
for i in range(0, count):
min = i
for j in range(i + 1, count):
if lists[min] > lists[j]:
min = j
temp = lists[min]
lists[min] = lists[i]
lists[i] = temp
return lists

a = get_andomNumber(10)
print("排序之前:%s" %a)

b = select_sort(a)
print("排序之後:%s" %b)

『叄』 如何用Python實現八大排序演算法

序有內部排序和外部排序,內部排序是數據記錄在內存中進行排序,而外部排序是因排序的數據很大,一次不能容納全部的排序記錄,在排序過程中需要訪問外存。
我們這里說說八大排序就是內部排序

『肆』 python2.7的sort函數默認採用什麼排序演算法,適用於怎樣的數列的排序

:
那關鍵字參數key和reverse還在嗎?我是python3.3.5的。
自定義排序用key關鍵字
>>>
a=['abc','abcd','ab']
>>>
a.sort(key=len)
#使用len函數返回的大小

『伍』 python寫冒泡排序

冒泡排序(Bubble Sort),是一種計算機科學領域的較簡單的排序演算法。
它重復地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果順序(如從大到小、首字母從Z到A)錯誤就把他們交換過來。走訪元素的工作是重復地進行直到沒有相鄰元素需要交換,也就是說該元素列已經排序完成。
這個演算法的名字由來是因為越小的元素會經由交換慢慢「浮」到數列的頂端(升序或降序排列),就如同碳酸飲料中二氧化碳的氣泡最終會上浮到頂端一樣,故名「冒泡排序」。
中文名
冒泡排序
外文名
Bubble Sort
所屬學科
計算機科學
時間復雜度
O(n2)
演算法穩定性
穩定排序演算法
快速
導航
演算法分析演算法描述優化演算法比較
演算法原理
冒泡排序演算法的原理如下:[1]
比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。[1]
對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。[1]
針對所有的元素重復以上的步驟,除了最後一個。[1]
持續每次對越來越少的元素重復上面的步驟,直到沒有任何一對數字需要比較。

『陸』 python 有排序演算法的s d k么

序有內部排序和外部排序,內部排序是數據記錄在內存中進行排序,而外部排序是因排序的數據很大,一次不能容納全部的排序記錄,在排序過程中需要訪問外存。 我們這里說說八大排序就是內部排序

『柒』 python冒泡排序方法

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

#g:/python
#冒泡排序
#1.定義一個列表
number=[6665,666,323,124,4442,5,123,412,55]
#外循環控制冒泡排序的次數,n個數為n-1次
for i in range(0,len(number)-1):
#內循環控制每次排序對比的次數,n個數對比n-1次
for j in range(0,len(number)-1):
#進行對比,交換位置
if(number[j]>number[j+1]):
index=number[j+1]
number[j+1]=number[j]
number[j]=index
#輸出排序後的列表
print(number)

『捌』 Python實現的快速排序演算法詳解

Python實現的快速排序演算法詳解
本文實例講述了Python實現的快速排序演算法。分享給大家供大家參考,具體如下:
快速排序基本思想是:通過一趟排序將要排序的數據分割成獨立的兩部分,其中一部分的所有數據都比另外一部分的所有數據都要小,然後再按此方法對這兩部分數據分別進行快速排序,整個排序過程可以遞歸進行,以此達到整個數據變成有序序列。
如序列[6,8,1,4,3,9],選擇6作為基準數。從右向左掃描,尋找比基準數小的數字為3,交換6和3的位置,[3,8,1,4,6,9],接著從左向右掃描,尋找比基準數大的數字為8,交換6和8的位置,[3,6,1,4,8,9]。重復上述過程,直到基準數左邊的數字都比其小,右邊的數字都比其大。然後分別對基準數左邊和右邊的序列遞歸進行上述方法。
實現代碼如下:
def parttion(v, left, right):
key = v[left]
low = left
high = right
while low < high:
while (low < high) and (v[high] >= key):
high -= 1
v[low] = v[high]
while (low < high) and (v[low] <= key):
low += 1
v[high] = v[low]
v[low] = key
return low
def quicksort(v, left, right):
if left < right:
p = parttion(v, left, right)
quicksort(v, left, p-1)
quicksort(v, p+1, right)
return v
s = [6, 8, 1, 4, 3, 9, 5, 4, 11, 2, 2, 15, 6]
print("before sort:",s)
s1 = quicksort(s, left = 0, right = len(s) - 1)
print("after sort:",s1)
運行結果:
before sort: [6, 8, 1, 4, 3, 9, 5, 4, 11, 2, 2, 15, 6]
after sort: [1, 2, 2, 3, 4, 4, 5, 6, 6, 8, 9, 11, 15]

『玖』 python簡單實現基數排序演算法

python簡單實現基數排序演算法
這篇文章主要介紹了python簡單實現基數排序演算法,僅用4行代碼即可實現基數排序演算法,非常簡單實用,分享給大家供大家參考。
具體實現方法如下:
from random import randint
def main():
A = [randint(1, 99999999) for _ in xrange(9999)]
for k in xrange(8):
S = [ [] for _ in xrange(10)]
for j in A:
S[j / (10 ** k) % 10].append(j)
A = [a for b in S for a in b]
for i in A:
print i
main()

希望本文所述對大家的Python程序設計有所幫助。

『拾』 下面python程序里的排序演算法是屬於哪一種

冒泡排序

熱點內容
單片機android 發布:2024-09-20 09:07:24 瀏覽:760
如何提高三星a7安卓版本 發布:2024-09-20 08:42:35 瀏覽:659
如何更換伺服器網站 發布:2024-09-20 08:42:34 瀏覽:306
子彈演算法 發布:2024-09-20 08:41:55 瀏覽:284
手機版網易我的世界伺服器推薦 發布:2024-09-20 08:41:52 瀏覽:812
安卓x7怎麼邊打游戲邊看視頻 發布:2024-09-20 08:41:52 瀏覽:158
sql資料庫安全 發布:2024-09-20 08:31:32 瀏覽:89
蘋果連接id伺服器出錯是怎麼回事 發布:2024-09-20 08:01:07 瀏覽:503
編程鍵是什麼 發布:2024-09-20 07:52:47 瀏覽:655
學考密碼重置要求的證件是什麼 發布:2024-09-20 07:19:46 瀏覽:479