歸併排序 快速排序

2022-09-04 23:33:25 字數 951 閱讀 6764

歸併排序 快速排序

歸併排序:

分為「歸」和「並」兩部分

歸 就是將乙個列表分為兩個為一組將其進行排序

並 就是將剛剛兩個為一組進行合併合併時進行排序

**如下:

def num(b):

if len(b) <= 1:

return b

else:

a = len(b) // 2

print(b)

left = num(b[:a])

right = num(b[a:])

final_list =

while left and right:

if left[0] <= right[0]:

else:

if right:

final_list = final_list + right

if left:

final_list = final_list + left

return final_list

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

c = num(b)

print(c)

快速排序

就是在列表中找乙個數

將比他小的數放左邊

將比他大的數放右邊

就一直重複

**如下:

def num(b):

if len(b) <= 1:

return b

a = b[0]

left = [i for i in b if i < a]

right = [i for i in b if i > a]

return num(left) + [a] + num(right)

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

list = num(b)

print(list)

快速排序 歸併排序

感覺好久之前不寫這些基礎的東西忽然覺著,想複習一下,就簡單溫習一下排序的例子 package com.ruishenh.algoritmic public class sort static void printmsg int arrs system.out.println static int g...

快速排序,歸併排序

快速排序 quicksort 是對 氣泡排序的一種改進。設要排序的 陣列是a 0 a n 1 首先任意選取乙個資料 通常選用陣列的第乙個數 作為關鍵資料,然後將所有比它小的數都放到它前面,所有比它大的數都放到它後面,這個過程稱為一趟快速排序。需要注意的是,多個相同的值的相對位置也許會在演算法結束時產...

歸併排序,快速排序

快速排序實現 filename fastsort description author hcq createtime 2019 04 12 10 01 public class fastsort arrays.stream arr foreach v system.out.println 排序後 s...