摘要:
本博客为笔者学习计算机科学的记录。希望和大家交流,不断地改进提高。由于水平有限,错误在所难免。另外, 欢迎大家指出错误,提出宝贵的建议,感谢大家的指点和帮助。 在开始之前,对各练习的程序作出统一说明,以后不再重复。 一 程序一般用C语言写,编译器为GCC。 二 程序一般为子程序的形式,可供主程序调... 阅读全文
摘要:
本节系列证明都可见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... 阅读全文
摘要:
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);... 阅读全文
摘要:
4.1-1如所有元素都为负,则返回所有元素中最大的负数。4.1-2(暴力法求最大和子数组)struct subarray{ int start, end, sum;};void bruteFindMaxSubarray(int a[], int left, int right, struct ... 阅读全文
摘要:
讨论内容不说明,仅提供相应的程序。2.1:归并插入排序θ(nlgn)void mergeInsertionSort(int a[], int l, int r, int k){ int m; if(r-l+1 > k) { m = (l + r) / 2; ... 阅读全文
摘要:
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... 阅读全文
摘要:
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 = ... 阅读全文
摘要:
关于练习程序的说明参见置顶的那篇。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... 阅读全文