数组可以看成是一种特殊的线性表.pptVIP

  • 2
  • 0
  • 约9.77千字
  • 约 34页
  • 2019-11-14 发布于湖北
  • 举报
第四章 数组 数组可以看成是一种特殊的线性表,即线性表中数据元素本身也是一个线性表 4.1 数组的定义和特点 定义 4.2 数组的顺序存储结构 次序约定 以行序为主序 以列序为主序 4.3 矩阵的压缩存储 对称矩阵 三角矩阵 稀疏矩阵的压缩存储方法 顺序存储结构 三元组表 求转置矩阵 问题描述:已知一个稀疏矩阵的三元组表,求该矩阵转置矩阵的三元组表 问题分析 一般矩阵转置算法: int trans_sparmat(JD ma[], JD mb[]) { int col,p,n,t,k; if(ma[0].v==0) return(0); n=ma[0].j; mb[0].i=n; mb[0].j=ma[0].i; mb[0].v=ma[0].v; k=1; int fast_transpos(JD ma[],JD mb[]) { int n,col,p,k,t; int num[M],cpot[M]; n=ma[0].j; t=ma[0].v; mb[0].i=n; mb[0].j=ma[0].i; mb[0].v=t; if(t=0) return(0); for(col=0;col=n;col++) num[col]=0; 十字链表 设行指针数组和列指针数组,分别指向每行、列第一个非零元 结点定义 5.4 广义表 5.4 广义表 * 数组特点 数组结构固定 数据元素同构 数组运算 给定一组下标,存取相应的数据元素 给定一组下标,修改数据元素的值 ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) a11 a12 …….. a1n a21 a22 …….. a2n am1 am2 …….. amn …………………. Loc( aij)=Loc(a11)+[(i-1)n+(j-1)]*l ??按行序为主序存放 amn …….. am2 am1 ………. a2n …….. a22 a21 a1n ……. a12 a11 0 1 n-1 m*n-1 n ??按列序为主序存放 0 1 m-1 m*n-1 m amn …….. a2n a1n ………. am2 …….. a22 a12 am1 ……. a21 a11 a11 a12 …….. a1n a21 a22 …….. a2n am1 am2 …….. amn …………………. Loc(aij)=Loc(a11)+[(j-1)m+(i-1)]*l a11 a12 …. … ….. a1n a21 a22 …….. ……. a2n an1 an2 …….. ann …………………. a11 a21 a22 a31 a32 an1 ann …... …... k=0 1 2 3 4 n(n-1)/2 n(n+1)/2-1 按行序为主序:

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档