文档详情

南京大学数据结构期终复习.ppt

发布:2017-06-17约1.33万字共197页下载文档
文本预览下载声明
D.S.复习提纲 ;例1. 求n! ; 例2 computes the sum of the elements a[0] through a[n-1] a[0], a[1], …, a[n-2], a[n-1] ;例3. 求数组中的最大值 ; 例3. 求数组中的最大值 ;例4?. 求数组元素的平均值; 例5. 统计叶子结点个数 ; 例6. 交换左右子数 ;第2章 算法分析;第2章 算法分析; 第3章 表、栈和队列 ; 第3章 表 ;第3章; 栈、队列; 对后缀表达式求值: 用了什么栈 例2. 队列---循环队列的补充题 已知队尾元素的位置与元素的个数, 求队头元素的位置。 先用实例来分析,然后归结到一般情况。 ;特殊矩阵的压缩存储 ;1D-Array;2D-Array;2D-Array;2D-Array;2D-Array;Matrix ;Matrix;Special Matrix;Special Matrix;Special Matrix;Special Matrix;Special Matrix;Sparse Matrices;Sparse Matrices;Sparse Matrices;Sparse Matrices; Sparse Matrices;;习题: 设有一个n*n的对称矩阵A,如下图(a)所示。为了节约存储,可以只存对角线及对角线以上的元素,或者只存对角线或对角线以下的元素。前者称为上三角矩阵,后者称为下三角矩阵。我们把它们按行存放于一个一维数组B中,如图(b)和图(c)所示。并称之为对称矩阵A的压缩存储方式。试问: 1)存放对称矩阵A上三角部分或下三角部分的一维数组B有多少元素? 2)若在一维数组B中从0号位置开始存放,则如图(a)所示的对称矩阵中的任一元素aij在只存上三角部分的情形下(图(b))应存于一维数组的什么下标位置?给出计算公式。 3)若在一维数组B中从0号位置开始存放,则如图(a)所示的对称矩阵中的任一元素aij在只存下三角部分的情况下*(图(c))应存于一维数组的什么下标位置?给出计算公式。 a11 a12 …a1n a11 a12 …a1n a11 a21 a22 …a2n a22 …a2n a21 a22 ……….. ………. ……… an1 an1 …ann ann an1 an2 … ann (a) (b) (c);答案: 1) 1+2+3+…+n = ?*(1+n)*n 2) loc(A[i,j] ) = loc(B[0]) + ( n+n-1+….+n-i+2 + j-i ) t = ?*(2*n-i+2)*(i-1) + j-i i=j t = ?*(2*n-j+2)*(j-1) + i-j ij 3) loc(A[i,j] = loc(B[0]) + (1+2+3+….+i-1+j-1) t = ?*i*(i-1) + j-1 i=j t = ?*j*(j-1) + i-1 ij ; 第4章 树 ;例1. 第4章中用非递归实现中序,后序遍历 Inorder, Postorder non-recursive algorithm Inorder non-recursive algorithm ;templateclass T void InOrder(BinaryNodeT* t) { if(t){ InOrder(t?Left);
显示全部
相似文档