网站大量收购闲置独家精品文档,联系QQ:2885784924

数据结构专升本资料第四周.doc

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

第五章 多维数组和广义表 5.1 数组的定义 一、数组的定义 数组(Arrays)是由一组类型相同的数据元素构造而成的。它的每个元素由一个值和一组下标确定。 每个元素aij均属于两个向量:第i行的行向量和第j列的列向量。最多可以有两个直接前驱和两个直接后继。 二、 数组的顺序存储结构 数组的顺序存储结构指的是用一组连续的存储单元依次存放数组元素。   行优先顺序:将数组元素按行向量排列,第i+1个行向量紧接在第i个行向量后面。   列优先顺序:将数组元素按列向量排列,第j+1个列向量紧接在第j个列向量之后。   二维数组Amn按“行优先顺序”存储在内存中,假设每个元素占d个存储单元,则aij的地址计算函数为:LOC(aij)=LOC(a11)+[(i-1)×n+j-1]×d   对应C语言的二维数组:DataType A[m][n]; 数组A[m][n]的两个下标的下界均为0,上界分别为m-1、n-1,每个数据元素占k个存储单元,二维数组中任一元素a[i,j]的存储位置可由下列公式确定。     loc[i,j]=loc[0,0]+( n * i + j ) * k   其中,loc[0,0]是A[0][0]的存储位置,它是该二维数组的起始地址。loc[i,j]是A[i][j]的存储位置。这个式子确定了C语言的二维数组元素的位置和下标的关系。压缩存储:所谓特殊矩阵(Special Matrices)是指非零元素或零元素的分布有一定规律的矩阵。 几种特殊矩阵的压缩存储:   对称矩阵 在一个n阶方阵A中,若元素满足下述性质:aij=aji    0≤i,j≤n-1 则称A为对称矩阵。如图所示: 存储元素为:{1,5,0,1,8,9,3,0,2,5,7,0,6,1,3},共15个。,可以为每一对对称元素分配一个存储空间,因此将n*n个元素压缩存放到 n(n+1)/2 个单元中. 一般,可以将下三角的元素存放在一维数组s[0,n(n+1)/2-1]中 。 则s[k]和矩阵元素aij之间存在一一对应的关系,: i(i+1)/2+j 当i(j,下三角 k = j(j+1)/2+i 当ij ,上三角   0≤ij≤n-1 三角矩阵 以主对角线划分,三角矩阵有上三角和下三角两种。上三角矩阵的下三角(不包括主角线)中的元素均为常数c。下三角矩阵正好相反,它的主对角线上方均为常数c。在多数情况下,三角矩阵的常数c为零。 上三角矩阵中,sa[k]和aij的对应关系是: 下三角矩阵中,sa[k]和aij的对应关系是:   对角矩阵 对角矩阵中,所有的非零元素集中在以主对角线为中心的带状区域中,即除了主对角线和主对角线相邻两侧的若干条对角线上的元素之外,其余元素皆为零。如图所示: 对角矩阵可按行优先顺序或对角线的顺序,将其压缩存储到一个向量中,并且也能找到每个非零元素和向量下标的对应关系。设矩阵Amn中有s个非零元素,若s远远小于矩阵元素的总数(即s<<m×n),则称A为稀疏矩阵(Sparse Matrix)。 当用三元组来表示非零元时,对稀疏矩阵进行压缩存储通常有两类方法:顺序存储和链式存储。 i,j)。即用一个三元组(i,j, aij )唯一确定了矩阵A的一个非零元素。 若将表示稀疏矩阵的非零元素的三元组按行优先(或列优先)的顺序排列(跳过零元素),则得到一个其结点均是三元组的线性表,我们将该线性表的顺序存储结构称为三元组表(List of 3-tuples)。   三元组表类型描述:    第六章 树和二叉树 6.1 树的概念 一、树的定义与表示法 树(Tree)是n(n≥0)个结点的有限集T,T为空时称为空树,否则它满足如下两个条件: 有且仅有一个特定的称为根(Root)的结点; 其余的结点可分为m(m≥0)个互不相交的子集T1,T2,…,Tm,其中每个子集本身又是一棵树,并称其为根的子树(Subtree)。           树的递归定义刻化了树的固有特性,即一棵非空树是由若干棵子树构成的,而子树又可由若干棵更小的子树构成。   从该定义可知:只有一个结点的树,该结点为根结点;多个结点的树,除根结点之外,它的M棵子树T1,T2,…,Tm也是树,且互不相交。 树的表示法树形表示法 嵌套集合表示法 凹入表表示法 广义表表示法 度(Degree):一个结点拥有的子树数称为该结点的度。 树的度:一棵树的度是指该树中结点的最大度数。 叶子(Leaf)和分支结点:度为零的结点称为叶子或终端结点。度不为零的结点称为分支结点或非终端结点。除根结点之外的分支结点统称为内部结点,根结点

文档评论(0)

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

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

1亿VIP精品文档

相关文档