一些常用的演算法記錄

2021-07-22 22:37:28 字數 1870 閱讀 4486

1:插入演算法

public static void main(string args) 

arr[j+1]=temp;

} }

2:歸併排序

public static void main(string args) 

date time1 = new date();

long a1 = time1.gettime();

// for(int i=0;i<1000000;i++)

date time2 = new date();

long a2 = time2.gettime();

long time = a2 - a1;

system.out.println(arrays.tostring(arr));

system.out.println("所需的時間為:" + time);

} private static void sort(int arr, int length)

arr[j + n] = temp;

}n = n / 2;

} }

5:bfprt第n大

public static void bubble(int a, int first, int end) 

}} }

// 求取最小的k個數

// 陣列a中從a[p]到a[r]的元素按照x劃分,大於或者等於x的在右邊,小於x的在左邊

public static int partitionmodify(int a, int p, int r, int x)

if (i != j) else

}} /*

* 上面的迴圈結束分為幾種情況 1 i > j 此時必定有 a[i] >= x,否則 a[j+1] = a[i] < x 與 a[j+1]

* >= x 矛盾 ,如果不是邊界,進入if語句 2 i = j 此時如果 a[i] < x 則a[i+1] = a[j+1] >x 返回 i

* 3 當i==p,此時直接返回邊界元素下標 4 當i == r,此時為右邊界,此時a[i]肯定為x,返回i - 1,也即r - 1

*/if (a[i] >= x && i > p)

return i;

} public static int selectmodify(int a,int p, int r, int k)

// 將r-p+1個資料按五個元素分為一組,可以分為(r - p + 1) / 5組

// 分別找出各組的中位數,再將各組的中位數與陣列開頭的資料按組的順序依次交換

for (i = 0; i < (r - p + 1) / 5; i++)

// 對這些各組的中位數

// 按同樣的方法繼續求出中位數,最後得出的整個陣列的中位數 x

int x = selectmodify(a, p, p + (r - p + 1) / 5 - 1, (r - p + 6) / 10);

i = partitionmodify(a, p, r, x);

int j = i - p + 1;

if (k <= j) else

} public static void main(string args) ;

system.out.println(arrays.tostring(a));

bubble(a, 0, a.length-1);

system.out.println(arrays.tostring(a));

system.out.println(selectmodify(a, 0, a.length-1, 11));

}

一些常用方法的記錄

1.建立臨時目錄 建立臨時目錄 try catch ioexception e 結果 2.正規表示式的組 測試正規表示式 string slippingwindowpointoprand s s s string slippingwindowpointcollectoprand slippingwi...

記錄一些排序演算法

記錄一些排序演算法的c 插入排序o n 2 void insertsort int a a i 1 key 歸併排序o nlgn define max 101 void merge int a,int p,int q,int r else if i n1 1 else if j n2 1 void ...

記錄 property的一些常用設定

推薦做法是nsstring用copy,delegate用assign 且一定要用assign,不要問為什麼,只管去用就是了,以後你會明白的 非objc資料型別,比如int,float等基本資料型別用assign 預設就是assign 而其它objc型別,比如nsarray,nsdate用retain...