山大数据结构_4.ppt

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
山大数据结构_4

Chapter4 Arrays and Matrices Arrays Matrices Special Matrices Sparse Matrices 本章重点 矩阵ADT 特殊矩阵 稀疏矩阵 4.1 Arrays 数组的抽象数据类型描述 抽象数据类型Array{ 实例 形如(index,value)的数据对集合,其中任意两对数据的index值都各不相同 操作 Create():创建一个空的数组 Store(index,value):添加数据(index,value),同时删除具有相同index值的数据对(如果存在) Retrieve(index):返回索引值为index的数据对 C++数组 在C++中,值为整数类型的k维数组score可用如下语句来创建: int score[u1][u2][u3]...[uk] 为实现与数组相关的函数Store和Retrieve,必须把数组索引[i1][i2][i3]...[ik]映射到[0,n-1]中的某个数map(i1,i2,i3,...,ik),使得该索引所对应的元素值存储在以下位置:start+map(i1,i2,i3,...,ik)*sizeof(int) 一维数组 当数组维数为1时(即k=1),使用以下函数:map(i1)=i1 行主映射和列主映射 Row- and Column-Major Mappings 二维数组行主映射 行主次序所对应的映射函数为:map(i1,i2)=i1u2+i2 其中u2是数组的列数。 在行主映射模式中,在对索引[i1][i2]进行编号时,第0,...i1-1行中的i1u2个元素以及第i1行中的前i2个元素都已经被编号。 三维数组行主映射 三维数组的行主映射函数为:map(i1,i2,i3)=i1u2u3+i2u3+i3 一维数组的类定义 templateclass T class Array1D { public: Array1D(int size = 0); Array1D(const Array1DT v); // 复制构造函数 ~Array1D() {delete []element;} T operator[](int i) const; int Size() {return size;} Array1DT operator=(const Array1DT v); Array1DT operator+() const; // 一元加法操作符 Array1DT operator+(const Array1DT v) const; Array1DT operator-() const; // 一元减法操作符 Array1DT operator-(const Array1DT v) const; Array1DT operator*(const Array1DT v) const; Array1DT operator+=(const T x); 一维数组的类定义 private: int size; T *element; //一维数组 }; 二维数组的类定义 templateclass T class Array2D { public: Array2D(int r = 0, int c = 0); Array2D(const Array2DT m); // 复制构造函数 ~Array2D() {delete [] row;} int Rows() const {return rows;} int Columns() const {return cols;} Array1DT operator[](int i) const; Array2DT operator=(const Array2DT m); Array2DT operator+() const; // 一元加法操作符 Array2DT operator+(const Array2DT m) const; Array2DT operator-() const; // 一元减法操作符 Array2DT operator-(const Array2DT m) const; Array2DT operator*(const Array2DT m) const; Array2DT operator+=(const T x); 二维数组的类定义 private: int rows, cols; // 数组维数 Array1DT *row; // 一维数组的数组 }; 4.2 Metrices 一个m×n 的矩阵是一个m行、n 列的表,其中m 和n 是矩阵的维数。 矩阵通常被用来组织数据。 矩阵 矩阵的操作 对于矩阵来说,最常见的操

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档