快排的基礎要義
1.確立分界點
2.調整
3.遞迴處理兩邊
典型的例題
785. 快速排序
#include
#include
using
namespace std;
int n;
void
quick_sort
(int a,
int l,
int r)
quick_sort
(a, l, j)
;quick_sort
(a, j+
1, r);}
intmain()
本週的每日一題都比較簡單
知識點:
1.revers(a,b);
顛倒2.swap(a,b)
交換3.next_permutation(q,q+n);
整體的排列改變。
4.窮舉法的使用
1353. 滑雪場設計
就是吧所有可能的都算一遍;
排序 選擇排序 選擇排序 堆排序
寫在前面 上傳github交換排序選擇排序 堆排序 選擇排序 顧名思義,我們就可以猜到,它是原則合適的元素放到合適的位置 從圖中,我們可以得到 1.用第乙個元素,和其他所有的元素進行比較,找出最小的,然後進行交換 2.然後進行,資料的遞增 3.直到資料全部有序 void selectsort int...
選擇排序 直接選擇排序
演算法思想 在每一趟的排序中,從待排序列中選出關鍵字最小或者最大的元素放在其最終的位置上 過程分析 在第i趟直接排序中,通過n i次關鍵字的比較,從n i 1個元素中選出關鍵字最小的元素 與第i個元素進行交換。經過n 1趟比較,直到表有序為止 效能分析 時間複雜度o n 2 include defi...
選擇排序 直接選擇排序
直接選擇排序也成為簡單選擇排序。對於乙個待排序數列,每次從無序區選擇乙個最小的元素,放入有序區 初始時有序區為空 直到無序區元素只有乙個 即整個數列的最大值 具體操作 第i趟排序開始,數列分為有序區a 0,i 1 和無序區a i,n 1 從無序區中選擇最小元素a k 將a k 放在無序區的最左邊的位...