五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

千鋒教育web前端高頻面試題視頻教程,kerwin大話前端面試秘籍(附答案)

2023-07-19 08:43 作者:空杯切の  | 我要投稿

快速排序

一、排序是什

排序說白了其實就是對一個無序的列表中的所有元素按順序排列。

二、快速排序

快速排序其實是交換排序的一種,而交換排序也就是根據(jù)那個待排序列中兩個關鍵字的比較結果,來對換他們兩個在序列中的位置。

三、快速排序思想

假如從小到大排序...

  1. 在待排序的列表中選定一個元素,將這個元素作為此次排序的樞紐。正常來講這個樞紐選首元素就好。
  2. 然后通過遍歷,對待排序的所有元素與此次遍歷的樞紐做比較,將比這個樞紐小的元素放在左側,比這個樞紐大的元素放在它的右側。
  3. 經(jīng)過一次排序,此次排序的樞紐就已經(jīng)確定了它的最終位置,此后不用在改變了。
  4. 同時在一次排序后,將此次執(zhí)行的待排序列分成了兩個新的待排序列,通過遞歸,分別對這兩個待排序列作為新的執(zhí)行待排序列進行前幾步。
  5. 當遞歸完成時,每一個元素都在它的最終位置了,快速排序結束。
四、算法性能
  • 當初始序列越接近有序,導致算法的遞歸層數(shù)越高,也就是執(zhí)行次數(shù)越多,性能越差,
  • 完全有序時最差,時間復雜度為為O(n*n),空間復雜度為O(n)
  • 反之性能最好,時間復雜度為O(n*log2(n)),空間復雜度為O(log2(n))
五、代碼實現(xiàn)
?function quickSort(arr) {
???if (arr.length <= 1) return arr;
???const pivot = arr[0];
???const low = [],high = []; 
???for (let i = 1; i < arr.length; i++) {
?????if (arr[i] < pivot) {
???????low.push(arr[i]);
????} else {
???????high.push(arr[i]);
????}
??}
???return quickSort(low).concat(pivot, quickSort(high));
?}


千鋒教育web前端高頻面試題視頻教程,kerwin大話前端面試秘籍(附答案)的評論 (共 條)

分享到微博請遵守國家法律
高台县| 韶山市| 乌恰县| 凤阳县| 页游| 扬中市| 襄城县| 汝阳县| 齐河县| 寿光市| 达州市| 板桥市| 榕江县| 志丹县| 普兰县| 阿瓦提县| 镶黄旗| 内江市| 农安县| 长岛县| 新绛县| 双桥区| 磐石市| 盐池县| 资中县| 绥化市| 綦江县| 缙云县| 博爱县| 乳源| 北辰区| 永嘉县| 拉萨市| 北票市| 德阳市| 淮北市| 栾城县| 凉城县| 仁布县| 嵩明县| 铁岭县|