DAY 5 PHP資料結構與演算法 排序 快速排序

2021-07-24 15:33:57 字數 1054 閱讀 4763

思路分析:快速排序是在氣泡排序的基礎上做的公升級,以第乙個元素為標尺,對無序陣列進行分割,大的部分組成乙個臨時陣列,小的部分組成另乙個臨時陣列,再分別將兩個臨時陣列遞迴分割,直至只剩乙個元素,將所有臨時陣列(只剩了單個元素),進行組合,就合成了新的有序陣列。

$arr 

=array(9

,3,4

,1,7

,10,8

,2,5

,6);

function

part_sort

($array

)

$lpart

=array

();

$rpart

=array

();

for($i=

1;$i<

$len;$i

++)else

}

$lpart

=part_sort

($lpart

);

$rpart

=part_sort

($rpart

);

$arr

=array_merge

($lpart

,array

($array[0

]),$rpart

);

return

$arr

;

}

echo

"";

print_r

(part_sort

($arr

));

echo

"

"

;

Python資料結構與演算法 Day5

氣泡排序演算法的運作如下 比較相鄰的元素。如果第乙個比第二個大 公升序 就交換他們兩個。對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。這步做完後,最後的元素會是最大的數。針對所有的元素重複以上的步驟,除了最後乙個。持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。d...

Python資料結構與演算法5 排序演算法1

1.氣泡排序 defbubble sort alist n len alist for i in range n 1 第一層迴圈 冒泡需要進行的輪數 count 0for j in range n 1 i 第二層迴圈 遍歷兩兩比較 if alist j alist j 1 alist j alist...

資料結構與演算法(5)排序演算法(理論)

時間複雜度為 o nlogn 的三種排序演算法 2.排序演算法的三個分析指標 最常用的排序演算法 氣泡排序 插入排序 選擇排序 歸併排序 快速排序 計數排序 基數排序 桶排序。按照時間複雜度可分為三類 氣泡排序只會操作相鄰的兩個資料。每次冒泡操作都會對相鄰的兩個元素進行比較,看是否滿足大小關係要求。...