思路分析:快速排序是在氣泡排序的基礎上做的公升級,以第乙個元素為標尺,對無序陣列進行分割,大的部分組成乙個臨時陣列,小的部分組成另乙個臨時陣列,再分別將兩個臨時陣列遞迴分割,直至只剩乙個元素,將所有臨時陣列(只剩了單個元素),進行組合,就合成了新的有序陣列。
"$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.排序演算法的三個分析指標 最常用的排序演算法 氣泡排序 插入排序 選擇排序 歸併排序 快速排序 計數排序 基數排序 桶排序。按照時間複雜度可分為三類 氣泡排序只會操作相鄰的兩個資料。每次冒泡操作都會對相鄰的兩個元素進行比較,看是否滿足大小關係要求。...