看看排序演算法

2021-08-02 22:09:06 字數 1075 閱讀 2194

最新要換工作了,馬上要離開上海了,終究還是過客啊,希望能在新城市找到乙個好的公司,主要就是乙個冒泡和快排,在python的**如下。

描述 它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。

**實現

def bubble_sort(list):

for i in range(0, len(list) - 1): # 記錄冒泡的次數

for j in range(0, len(list)-1-i): # 記錄每輪氣泡排序比較的次數

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

list[j + 1], list[j] = list[j], list[j+ 1]

j = j + 1

else:

continue

return list

快速排序:

def quick_sort(lists, left, right):

# 快速排序

if left >= right:

return lists

key = lists[left]

low = left

high = right

while left < right:

while left < right and lists[right] >= key:

right -= 1

lists[left] = lists[right]

while left < right and lists[left] <= key:

left += 1

lists[right] = lists[left]

lists[right] = key

quick_sort(lists, low, left - 1)

quick_sort(lists, left + 1, high)

return lists

雜食向 看看看看看著你

1 vue cli3 vue typescript 主要學習構建思路,包括node指令碼初級寫法 2 css逐幀動畫 3 vuex原理及state 1 摩洛哥 旅行 攝影 城市配色 2 紐約 曼哈頓,huawei p30 pro 攝影 城市 色調 鏡頭 3 素士吹風機 色彩搭配 創意 攝影 ps 4...

演算法 怒刷5大經典排序演算法之後,看看我發現了什麼

選擇排序 selectionsort 插入排序 insertionsort 歸併排序 mergesort 快速排序 quicksort 總結掌握常見的排序演算法能夠讓我們更好的理解迴圈不變數,還有減而知之,分而治之的思想,更好的寫出遞迴 當我們需要對資料進行二次或以上排序時,穩定性這個特性才會有意義...

演算法學習 看看深度優先搜尋演算法

先看一題 給定整數a1,a2,a3 an,判斷是否可以從中選出若干數,使他們的和恰好為k。那麼,現在分析一下問題的需求。只需從a1開始按順序決定每個數加或者不加,在管不n個數都決定後在判斷他們的和是否為k即可。換乙個方式想,從某個狀態開始不斷的轉移狀態直到無法轉移,然後然後回退到前一步的狀態,繼續轉...