演算法筆記 歸併排序 快速冪

2021-10-21 02:05:00 字數 1070 閱讀 9859

演算法筆記 -歸併排序 快速冪

1.歸併排序

#include#include#include#include#include #include #include #includeusing namespace std;

typedef long long ll;

const double eps = 1e-5;

const double pi = acos(-1.0);

const int maxn=100;

int a=;

int b=;

int n=0;

// 序列合併問題模板

void merge(int a,int l1,int r1,int l2,int r2)else

}while(i<=r1) temp[index++]=a[i++]; // =

while(j<=r2) temp[index++]=a[j++]; // =

for(i=0;i2.快速冪

#include#include#include#include#include #include #include #includeusing namespace std;

typedef long long ll;

const double eps = 1e-5;

const double pi = acos(-1.0);

// 快速冪的遞迴寫法 時間慢

ll binarypow_recursion(ll a,ll b,ll m)

else

}// 快速冪的迭**法 時間快

ll binarypow_iteration(ll a,ll b,ll m)

a=a*a%m;

b>>=1;

}return ans;

}int main(){

//加快cin cout 時間

ios::sync_with_stdio(0);

cin.tie(0);

cout.tie(0);

cout《遞迴比迭代要耗時,資料量大時可能會超時,洛谷上會tle,建議用迭代法

演算法筆記 歸併排序 快速排序 計數排序

public static void mergesort int a public static void mergesort int a,int start,int end 取中點 int mid start end start 2 遞迴排序左半部分 mergesort a,start,mid 遞...

分治演算法 快速排序,歸併排序

快速排序 分析 資料結構p186.重要 當原始檔有序時複雜度是o n2 此時氣泡排序最好,無序時快速排序是最好的方法。void quicksort int a,int l,int r int i l int j r int x a i a l 即a i 就是第乙個坑 挖坑填數 while j i i...

《演算法筆記》 歸併排序

歸併操作,也叫歸併演算法,指的是將兩個順序序列合併成乙個順序序列的方法,平均時間複雜度為o nlogn 歸併排序的實現分為遞迴實現與非遞迴 迭代 實現。如 設有數列 初始狀態 6,202,100,301,38,8,1 第一次歸併後 比較次數 3 第二次歸併後 比較次數 4 第三次歸併後 比較次數 4...