歸併排序 快速排序
歸併排序:
分為「歸」和「並」兩部分
歸 就是將乙個列表分為兩個為一組將其進行排序
並 就是將剛剛兩個為一組進行合併合併時進行排序
**如下:
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...