- 4
- 0
- 约1.43万字
- 约 51页
- 2018-05-04 发布于四川
- 举报
第五章 数组和广义表 数组可以看成是一种特殊的线性表,即线性表中数据元素本身也是一个线性表 5.1 数组的定义和特点 定义 5.2 数组的顺序表示和实现 次序约定 以行序为主序 以列序为主序 三角矩阵 压缩存储的三种方法 三元组顺序表法 类型定义 # define MAXSIZE 1000 //假设非零元个数的最大值为1000 typedef struct { int i , j ; //该非零元的行下标和列下标 ElemType e; }Triple; typedef struct { Triple data[MAXSIZE+1]; //非零元三元组表,data[0]未用 int mu, nu, tu; //矩阵的的行数.列数和非零元个数 }TSMatrix; 矩阵的转置 例:矩阵 用三元组表示的稀疏矩阵及其转置 从上图分析 a 和 b 之间的差异可见只要做到: (1)将矩阵的行列值相互交换; (2)将每个三元组中的i和j相互调换; (3)重排三元组之间的次序便可实现矩阵的转置。 那么如何实现第三条,即如何使 b.data 中的三元组是以 T 的行(M的列)为主序依次排列的?有两种处理方法: (1)按照 b.data 中三元组的次序依次在 a.data 中找到相应的三元组进行转置:即按照 M 的列序来进行转置。为了找到 M 的每一列中所有的非零元素,需要对其三元组表 a.data 从第一行起整个扫描一遍,由于 a.data 是以 M 的行序为主序来存放每个非零元的,由此得 到的恰是 b.data 应有的顺序。 Status TransposeSMatrix(TSMatrix M, TSMatrix T){ //采用三元组表存储表示,求稀疏矩阵M的转置矩阵T。 T.mu=M.nu; T.nu=M.mu; T.tu=M.tu; if ( T.tu){ q=1; for ( col=1; col=M.nu; ++col) // 按行(即 M 的列)求 T 中每一非零元素 for(p=1; p=M.tu; ++p) // 扫描中的每一个非零元素,求 T 中 第 col 列的每一个非零元素 if (M.data[p].j = = col) { T.data[q].i = M.data[p].j; T.data[q].j = M.data[p].i; T.data[q].e = M.data[p].e; ++q; } }//if return OK; }//TransposeSMatrix 快速转置算法: Status FastTransposeSMatrix(TSMatrix M, TSMatrix T){ //采用三元组顺序表存储表示,求稀疏矩阵M的转置矩阵T。 T.mu = M.nu; T.nu = M.mu; T.tu = M.tu; if (T.tu){ for (col=1;col=M.nu;++col) num[col] = 0; for (t=1;t=M.tu; ++t) ++num[M.data[t].j]; //求M中每一列非零元个数 cpot[1] = 1; //求第 col 列中第一个非零元在 b.data 中的位置 for (col=2; col=M.nu; ++col) cpot[col]=cpot[col-1]+num[col-1]; for (p=1;p=M.tu; ++p) { //扫描 M 中每一个元素,直接存入 T 中指定位置 col=M.data[p].j; q=cpot[col]; T.data[q].i = M.data[p].j; T.data[q].j = M.data[p].i; T.data[q].e = M.data[p].e; ++cpot[col]; }//for }//if reutrn OK; }//FastTransposeSMatrix 2. 行逻辑链接的顺序表表示法 这种
您可能关注的文档
- 销售及销售人员管理.ppt
- 世界现代设计史2012年版第五讲.ppt
- 世界现代设计史第六讲.ppt
- 销售能力核心——顾问式销售流程.ppt
- 世界现代设计史-第六讲.ppt
- 销售培训系列课程:专业销售训练.ppt
- 销售人员基本从业态度5.ppt
- 销售实战的技巧.ppt
- 销售实战技巧锦锦囊201210.ppt
- 销售实战培训课程201210.ppt
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
原创力文档

文档评论(0)