分治算法经典问题算法:循环赛程表,归并排序,快速排序,二分搜索,二分递归,大数乘法,棋盘覆盖.doc
《分治算法经典问题算法:循环赛程表,归并排序,快速排序,二分搜索,二分递归,大数乘法,棋盘覆盖.doc》由会员分享,可在线阅读,更多相关《分治算法经典问题算法:循环赛程表,归并排序,快速排序,二分搜索,二分递归,大数乘法,棋盘覆盖.doc(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、循环赛程表#define MAXN 64#define MAX 32 int aMAXMAX; void Copy(int tox, int toy, int fromx, int fromy, int n) for (int i=0; in; i+) for (int j=0; jn; j+) atox + itoy + j = afromx + ifromy + j; void Table(int k, int aMAX) int i, n = 1 k; int r; for (i=0; in; i+) a0i = i + 1; for (r=1; rn; r=1) for (i=0; i
2、n; i+=2*r) Copy(r, i + r, 0, i, r); Copy(r, i, 0, i + r, r); /ENDFOR void Out(int aMAX, int n) for (int i=0; in; i+) for (int j=0; jn; j+) printf(%3d, aij); printf(n); printf(n);getch(); void main() int i; for (i=0; i5; i+) int len = 1 i; Table(i, a); Out(a, len); 归并排序void merge(int data, int p, int
3、 q, int r) int n1 = q - p + 1; int n2 = r - q; int Ln1,Rn2; for(int i = 0, k = p; i n1; i+, k+) Li = datak; for(int i = 0, k = q + 1; i n2; i+, k+) Ri = datak; for(int k = p, i = 0, j = 0; i n1 & j Rj) datak = Li; i+; else datak = Rj; j+; if(i n1) for(j = i; j n1; j+, k+) datak = Lj; if(j n2) for(i
4、= j; i n2; i+, k+) datak = Ri; void merge_sort(int data, int p, int r) if(p r) int q = (p + r) / 2; merge_sort(data, p, q); merge_sort(data, q + 1, r); merge(data, p, q, r); 快速排序int partition(int number, int left, int right) int s = numberright; int i = left - 1; for(int j = left; j right; j+) if(nu
5、mberj = s) i+; SWAP(numberi, numberj); SWAP( numberi+1, numberright ); return i+1; void quicksort(int number, int left, int right) int q; if(left right) q = partition(number, left, right); quicksort(number, left, q-1); quicksort(number, q+1, right); 二分搜索非递归public static int binarySearch(int a, int x
6、, int n)/ 在 a0 = a1 = . = an-1 中搜索 x/ 找到x时返回其在数组中的位置,否那么返回-1int left = 0; int right = n - 1;while (left amid) left = mid + 1;else right = mid - 1;return -1; / 未找到x二分递归public static int binarySearch(int a, int x, int left ,int right)/ 找到x时返回其在数组中的位置,否那么返回-1if (leftright) return -1; / 未找到xelse int mid
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 分治 算法 经典 问题 循环 赛程表 归并 排序 快速 二分 搜索 递归 大数 乘法 棋盘 覆盖
链接地址:https://www.taowenge.com/p-63177665.html
限制150内