《数据结构(清华版)》4第四章 串和数组.ppt

上传人:s****8 文档编号:67217959 上传时间:2022-12-24 格式:PPT 页数:20 大小:621KB
返回 下载 相关 举报
《数据结构(清华版)》4第四章 串和数组.ppt_第1页
第1页 / 共20页
《数据结构(清华版)》4第四章 串和数组.ppt_第2页
第2页 / 共20页
点击查看更多>>
资源描述

《《数据结构(清华版)》4第四章 串和数组.ppt》由会员分享,可在线阅读,更多相关《《数据结构(清华版)》4第四章 串和数组.ppt(20页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第四章 数组数组可以看成是一种特殊的线性表,即线性表中数据元素本身也是一个线性表v4.1 数组的定义和特点定义数组特点v数组结构固定v数据元素同构数组运算v给定一组下标,存取相应的数据元素v给定一组下标,修改数据元素的值()()()()()()()()()v4.2 数组的顺序存储结构次序约定v以行序为主序v以列序为主序a11a12.a1na21a22.a2nam1am2.amn.Loc(aij)=Loc(a11)+(i-1)n+(j-1)*l按行序为主序存放按行序为主序存放 amn .am2 am1 .a2n .a22 a21 a1n .a12 a1101n-1m*n-1n按列序为主序存放按列

2、序为主序存放01m-1m*n-1m amn .a2n a1n .am2 .a22 a12 am1 .a21 a11a11a12.a1na21a22.a2nam1am2.amn.Loc(aij)=Loc(a11)+(j-1)m+(i-1)*lv4.3 矩阵的压缩存储对称矩阵a11a12.a1na21a22.a2nan1an2.ann.a11 a21 a22 a31 a32 an1 ann.k=0 1 2 3 4 n(n-1)/2 n(n+1)/2-1 按行序为主序:三角矩阵a1100.0a21a220.0an1an2an3.ann.0Loc(aij)=Loc(a11)+(+(j-1)*li(i-

3、1)2a11 a21 a22 a31 a32 an1 ann.k=0 1 2 3 4 n(n-1)/2 n(n+1)/2-1 按行序为主序:对角矩阵a11a120.0a21a22a230000an-1,n-2an-1,n-1an-1,n00an,n-1ann.0a32a33a3400Loc(aij)=Loc(a11)+2(i-1)+(j-1)a11 a12 a21 a22 a23 ann-1 ann.k=0 1 2 3 4 n(n-1)/2 n(n+1)/2-1 按行序为主序:M由(1,2,12),(1,3,9),(3,1,-3),(3,6,14),(4,3,24),(5,2,18),(6,1

4、,15),(6,4,-7)和矩阵维数(6,7)唯一确定稀疏矩阵v定义:非零元较零元少,且分布没有一定规律的矩阵v压缩存储原则:只存矩阵的行列维数和每个非零元的行列下标及其值v稀疏矩阵的压缩存储方法顺序存储结构v三元组表#define M 20typedef struct node int i,j;int v;JD;JD maM;三元组表所需存储单元个数为3(t+1)其中t为非零元个数6 7 8 1 2 12 1 3 9 3 1 -3 3 6 14 4 3 24 5 2 18 6 1 15 6 4 -7 mai j v0 1 2 3 4 5 6 7 8ma0.i,ma0.j,ma0.v分别存放矩

5、阵行列维数和非零元个数行列下标非零元值v带辅助行向量的二元组表增加一个辅助数组NRAm+1,其物理意义是第i行第一个非零元在二元组表中的起始地址(m为行数)显然有:NRA1=1NRAi=NRAi-1+第i-1行非零元个数(i2)0 1 2 3 4 5 6 NRA1335676 7 8 2 12 3 9 1 -3 6 14 3 24 2 18 1 15 4 -7 maj v0 1 2 3 4 5 6 7 8矩阵列数和非零元个数列下标和非零元值NRA0不用或存矩阵行数二元组表需存储单元个数为2(t+1)+m+1v伪地址表示法伪地址:本元素在矩阵中(包括零元素再内)按行优先顺序的相对位置 6 7 2

6、 12 3 9 15 -3 20 14 24 24 30 18 36 15 39 -7 maaddr v伪地址非零元值矩阵行列维数0 1 2 3 4 5 6 7 8伪地址表示法需存储单元个数为2(t+1)v求转置矩阵Y问题描述:已知一个稀疏矩阵的三元组表,求该矩阵转置矩阵的三元组表Y问题分析一般矩阵转置算法:for(col=0;coln;col+)for(row=0;rowp-col时,p和q右移(2)插入:a、若p=NULL且q=NULL,即本行空,则rhr-1=s;b、若p=NULL,q!=NULL,即走到行末,则q-right=sc、若c=p-col,则修改p-vald、若ccol且q=NULL,则在p之前插入s,即s是行链表中 第一个结点,令rhr-1=s;s-right=p;e、若ccol且q!=NULL,则在p之前插入s,即 s-right=p;q-right=s;418234m=4,n=31,1,32,2,52,3,44,1,82,1,7Ch4_3.c113217225

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁