初學python,排序演算法原理總結

2021-09-12 19:43:28 字數 1519 閱讀 2879

#氣泡排序

def bunnle_sort(list):

count = len(list) - 1

for index in range(count,0,-1):

for sub_index in range(index):

if list[sub_index] > list[sub_index+1]:

list[sub_index],list[sub_index+1] = list[sub_index+1],list[sub_index]

return list

list = [5,4,3,1,8]

print(bunnle_sort(list))

#從小到大或從大到小排序

def sorts(list):

list1 = sorted(list,reverse = false)

return list1

print(sorts(list))

#快速排序

lists1 = [8,6,9,2,5]

def quike_sort(lists,left,right):

if left >= right:

return lists

#定義游標

low = left

high = right

#定義標誌元素k值

key = lists[low]

while low < high:

#從右側往左依次和標誌元素進行對比,如果右側的元素大於標誌元素key

while low < high and lists[high] >= key:

#右側減一

high-=1

#否則low賦上high值

lists[low] = lists[high]

# 從左側往右依次和標誌元素進行對比,如果左側的元素小於標誌元素key

while low < high and lists[low] <= key:

# 左側加一

low += 1

# 否則high賦上low值

lists[high] = lists[low]

#最後給high位置賦值

lists[high] = key

#處理左側元素

quike_sort(lists,left,low-1)

quike_sort(lists,low+1,right)

return lists

print(quike_sort(lists1,0,4))

#求素數

def is_prime(n):

if n <=1:

return false

for i in range(2,n-1):

if n % i ==0:

return false

return true

for i in range(0,100):

if is_prime(i):

print(i)

(二)演算法 排序演算法總概

有兩種思想,就像是擺放在天鵝絨上的寶石那樣褶褶生輝,乙個是微積分,另乙個就是演算法。微積分以及在微積分基礎上建立起來的數學分析體系造就了現代科學,而演算法則造就了現在世界。大衛 柏林斯基 1 什麼是演算法?algorithm 演算法 是一系列解決問題的明確指令,也就是說,對於符合一定規範的輸入,能夠...

秋招準備 演算法 排序(總)

1.ques 簡單介紹選擇排序 選擇排序通過在每一輪迴圈中選擇出極值,然後將之與未排序好區域的某個端點作交換,完成一次排序。比如,第一輪選出最小值,此時的未排序區是0 n 1,則將這個最小值與0號陣列元素作交換,完成排序,以此類推,外迴圈n次之後完成排序。中間變數 儲存每次排序最小值的temp,最小...

C 初學演算法排序 氣泡排序,選擇排序

最近想學習一下演算法的處理,從網上搜尋了一下例子進行了總結說明 初學 開始不會接觸太難的演算法 先從最簡單的演算法開始學起 這次主要講的就是 冒泡演算法 和選擇演算法。直接貼 氣泡排序 演算法處理 針對需要處理的資料資訊進行處理 返回陣列集合資訊 public static int bubbling...