摘要: 本博客为笔者学习计算机科学的记录。希望和大家交流,不断地改进提高。由于水平有限,错误在所难免。另外, 欢迎大家指出错误,提出宝贵的建议,感谢大家的指点和帮助。 在开始之前,对各练习的程序作出统一说明,以后不再重复。 一 程序一般用C语言写,编译器为GCC。 二 程序一般为子程序的形式,可供主程序调... 阅读全文
posted @ 2015-07-11 17:50 _不忘初心方得始终 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 本节系列证明都可见4.5节需要说明的有4.3-8,4.3-9两题4.3-8(本题有误)T(n)=4T(n/2)+n2根据4.5理论,结果为Θ(n2lgn)4.3-9m = lgnT(2m) = 3T(2m/2) + mS(m) = T(2m)S(m) = 3S(m/2) + mS(m) = Θ(ml... 阅读全文
posted @ 2015-08-23 13:11 _不忘初心方得始终 阅读(779) 评论(0) 推荐(0) 编辑
摘要: 4.2-1(计算结果)18 1462 664.2-2(Strassen算法计算矩阵乘法)void multiplyMatrix(int a[], int b[], int n, int result[]){ int i, j, dim=n/2; int n1=(n/2) * (n/2);... 阅读全文
posted @ 2015-08-23 12:42 _不忘初心方得始终 阅读(1620) 评论(0) 推荐(0) 编辑
摘要: 4.1-1如所有元素都为负,则返回所有元素中最大的负数。4.1-2(暴力法求最大和子数组)struct subarray{ int start, end, sum;};void bruteFindMaxSubarray(int a[], int left, int right, struct ... 阅读全文
posted @ 2015-08-23 12:23 _不忘初心方得始终 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 讨论内容不说明,仅提供相应的程序。2.1:归并插入排序θ(nlgn)void mergeInsertionSort(int a[], int l, int r, int k){ int m; if(r-l+1 > k) { m = (l + r) / 2; ... 阅读全文
posted @ 2015-07-18 13:21 _不忘初心方得始终 阅读(616) 评论(0) 推荐(0) 编辑
摘要: 2.3-1: 3 9 26 38 41 49 52 59 3 26 41 52 9 38 49 573 41 52 26 38 57 9 493 41 52 26 38 57 9 492.3-2:(归并排序)void mergeSort(int a[], int l, int r){ int... 阅读全文
posted @ 2015-07-15 22:28 _不忘初心方得始终 阅读(595) 评论(0) 推荐(0) 编辑
摘要: 2.2-1:Θ (n3)2.2-2:插入排序void selectionSort(int a[], int n){ int i, j, k, key; for(i=0; i a[j]) k = j; if(k != i) { key = ... 阅读全文
posted @ 2015-07-12 18:00 _不忘初心方得始终 阅读(183) 评论(2) 推荐(0) 编辑
摘要: 关于练习程序的说明参见置顶的那篇。2.1-1:31 41 59 26 41 5831 41 59 26 41 5831 41 59 26 41 5826 31 41 59 41 5826 31 41 41 59 5826 31 41 41 58 592.1-2:#include void inver... 阅读全文
posted @ 2015-07-11 17:52 _不忘初心方得始终 阅读(193) 评论(0) 推荐(0) 编辑