欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    山大数据结构_4概要课件.ppt

    • 资源ID:92252914       资源大小:406KB        全文页数:62页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    山大数据结构_4概要课件.ppt

    1.Arrays2.Matrices3.Special Matrices4.Sparse MatricesChapter4 Arrays and Matrices6/1/2023 11.矩阵ADT2.特殊矩阵3.稀疏矩阵本章重点6/1/2023 2数组的抽象数据类型描述抽象数据类型Array实例形如(index,value)的数据对集合,其中任意两对数据的index值都各不相同操作Create():创建一个空的数组Store(index,value):添加数据(index,value),同时删除具有相同index值的数据对(如果存在)Retrieve(index):返回索引值为index的数据对4.1 Arrays6/1/2023 3n 在C+中,值为整数类型的k维数组score可用如下语句来创建:int scoreu1u2u3.ukn 为实现与数组相关的函数Store和Retrieve,必须把数组索引i1i2i3.ik映射到0,n-1中的某个数map(i1,i2,i3,.,ik),使得该索引所对应的元素值存储在以下位置:start+map(i1,i2,i3,.,ik)*sizeof(int)C+数组6/1/2023 4n 当数组维数为1时(即k=1),使用以下函数:map(i1)=i1一维数组6/1/2023 5行主映射和列主映射Row-and Column-Major Mappings6/1/2023 6n 行主次序所对应的映射函数为:map(i1,i2)=i1u2+i2n 其中u2是数组的列数。n 在行主映射模式中,在对索引i1i2进行编号时,第0,.i1-1行中的i1u2个元素以及第i1行中的前i2个元素都已经被编号。二维数组行主映射6/1/2023 7n 三维数组的行主映射函数为:map(i1,i2,i3)=i1u2u3+i2u3+i3三维数组行主映射6/1/2023 8templateclass Array1D public:Array1D(int size=0);Array1D(const Array1D&v);/复制构造函数Array1D()delete element;T&operator(int i)const;int Size()return size;Array1D&operator=(const Array1D&v);Array1D operator+()const;/一元加法操作符Array1D operator+(const Array1D&v)const;Array1D operator-()const;/一元减法操作符Array1D operator-(const Array1D&v)const;Array1D operator*(const Array1D&v)const;Array1D&operator+=(const T&x);一维数组的类定义6/1/2023 9private:int size;T*element;/一维数组;一维数组的类定义6/1/2023 10templateclass Array2D public:Array2D(int r=0,int c=0);Array2D(const Array2D&m);/复制构造函数Array2D()delete row;int Rows()const return rows;int Columns()const return cols;Array1D&operator(int i)const;Array2D&operator=(const Array2D&m);Array2D operator+()const;/一元加法操作符Array2D operator+(const Array2D&m)const;Array2D operator-()const;/一元减法操作符Array2D operator-(const Array2D&m)const;Array2D operator*(const Array2D&m)const;Array2D&operator+=(const T&x);二维数组的类定义6/1/2023 11private:int rows,cols;/数组维数Array1D*row;/一维数组的数组;二维数组的类定义6/1/2023 12n 一个mn 的矩阵是一个m行、n 列的表,其中m 和n 是矩阵的维数。n 矩阵通常被用来组织数据。4.2 Metrices6/1/2023 13矩阵6/1/2023 14n 对于矩阵来说,最常见的操作就是矩阵转置、矩阵加、矩阵乘。n 一个mn 矩阵的转置矩阵是一个nm的矩阵MT,它与M之间存在以下关系:n MT(i,j)=M(j,i),1in,1jmn 仅当两个矩阵的维数相同时(即具有相同的行数和列数),才可以对两个矩阵求和。两个mn 矩阵A 和B 相加所得到的mn 矩阵C 如下:n C(i,j)=A(i,j)+B(i,j),1in,1jm矩阵的操作6/1/2023 15矩阵的操作n 仅当一个mn 矩阵A 的列数与另一个qp 矩阵B 的行数相同时(即n=q),才可以执行矩阵乘法A*B。A*B 所得到的mp 矩阵C 满足以下关系:6/1/2023 16templateclass Matrix public:Matrix(int r=0,int c=0);Matrix(const Matrix&m);/复制构造函数Matrix()delete element;int Rows()const return rows;int Columns()const return cols;T&operator()(int i,int j)const;Matrix&operator=(const Matrix&m);Matrix operator+()const;/一元加法Matrix operator+(const Matrix&m)const;Matrix operator-()const;/一元减法Matrix operator-(const Matrix&m)const;Matrix operator*(const Matrix&m)const;Matrix&operator+=(const T&x);类matrix6/1/2023 17private:int rows,cols;/矩阵维数T*element;/元素数组;类matrix6/1/2023 18 特殊方阵n 对角矩阵(Diagonal Matrices)n 三对角矩阵(Tridiagonal Matrix)n 三角矩阵(Triangular Matrices)n 对称矩阵(Symmetric Matrices)4.3 Special Matrices6/1/2023 19n M是一个对角矩阵当且仅当ij时有M(i,j)=0。对角矩阵(diagonal)6/1/2023 20n M是一个三对角矩阵当且仅当|i-j|1时有M(i,j)=0。三对角矩阵(tridiagonal)6/1/2023 21n M是一个下三角矩阵当且仅当ij时有M(i,j)=0。下三角矩阵(lowertriangular)6/1/2023 22n M是一个上三角矩阵当且仅当ij时有M(i,j)=0。上三角矩阵(uppertriangular)6/1/2023 23n M是一个对称矩阵当且仅当对于所有的i和j有M(i,j)=M(j,i)。对称矩阵(symmetric)6/1/2023 246/1/2023 25n 可以采用二维数组来描述一个元素类型为T的nn对角矩阵D:T dnnn 使用数组元素di-1j-1来表示矩阵元素D(i,j),这种描述形式所需要的存储空间n2*sizeof(T)。n 思考:节省空间的存贮方式?对角矩阵(diagonal)描述6/1/2023 26n 一个对角矩阵最多包含n个非0元素,所以可以采用如下所示的一维数组来描述对角矩阵:Tdnn 使用数组元素di-1来表示矩阵元素Di,i。根据对角矩阵的定义,所有未在一维数组中出现的矩阵元素均为0。对角矩阵描述方案6/1/2023 27templateclass DiagonalMatrixpublic:DiagonalMatrix(int size=10)n=size;d=new Tn;DiagonalMatrix()delete d;/析构函数DiagonalMatrix&Store(const T&x,int i,int j);T Retrieve(int i,int j)const;private:int n;/矩阵维数T*d;/存储对角元素的一维数组;DiagonalMatrix类6/1/2023 28templateDiagonalMatrix&DiagonalMatrix:Store(const T&x,int i,int j)/把x存为D(i,j).if(i1|jn|jn)throw OutOfBounds();if(i!=j&x!=0)throw MustBeZero();if(i=j)di-1=x;return*this;复杂性?DiagonalMatrix类6/1/2023 29templateT DiagonalMatrix:Retrieve(inti,intj)const/返回D(i,j).if(i1|jn|jn)throw OutOfBounds();if(i=j)return di-1;else return 0;复杂性?DiagonalMatrix类6/1/2023 30n 在一个nn三对角矩阵T中,非0元素排列在如下的三条对角线上:n 1)主对角线i=j。n 2)主对角线之下的对角线(称低对角线)i=j+1。n 3)主对角线之上的对角线(称高对角线)i=j-1。三对角矩阵(tridiagonal)6/1/2023 31n 这三条对角线上的元素总数为?。n 行映射?n 列映射?n 对角线映射?三对角矩阵描述6/1/2023 32templateclass TridiagonalMatrixpublic:TridiagonalMatrix(int size=10)n=size;t=new T3*n-2;TridiagonalMatrix()delete t;TridiagonalMatrix&Store(const T&x,int i,int j);T Retrieve(int i,int j)const;private:int n;/矩阵维数T*t;/存储三对角矩阵的一维数组;TridiagonalMatrix类6/1/2023 33

    注意事项

    本文(山大数据结构_4概要课件.ppt)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

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

    收起
    展开