- 1、本文档共55页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.4.1 广义表的存储结构 由于广义表中的数据元素具有不同的结构,通常用链式存储结构表示,每个数据元素用一个结点表示。因此,广义表中就有两类结点: ◆ 一类是表结点,用来表示广义表项,由标志域,表头指针域,表尾指针域组成; ◆ 另一类是原子结点,用来表示原子项,由标志域,原子的值域组成。如图5-13所示。 只要广义表非空,都是由表头和表尾组成。即一个确定的表头和表尾就唯一确定一个广义表。 相应的数据结构定义如下: typedef struct GLNode { int tag ; /* 标志域,为1:表结点;为0 :原子结点 */ union { elemtype value; /* 原子结点的值域 */ struct { struct GLNode *hp , *tp ; }ptr ; /* ptr和atom两成员共用 */ }Gdata ; } GLNode ; /* 广义表结点类型 */ 标志tag=0 原子的值 标志tag=1 表头指针hp 表尾指针tp 图5-13 广义表的链表结点结构示意图 (b) 表结点 (a) 原子结点 例: 对A=(),B=(e),C=(a, (b, c, d) ),D=(A, B, C),E=(a, E)的广义表的存储结构如图5-14所示。 A=NULL 1 ∧ 0 e B 1 0 a C 1 0 b 1 ∧ 1 0 c 1 ∧ 0 d D 1 ∧ 1 1 1 ∧ 1 0 a E 1 ∧ 图5-14 广义表的存储结构示意图 对于上述存储结构,有如下几个特点: (1) 若广义表为空,表头指针为空;否则,表头指针总是指向一个表结点,其中hp指向广义表的表头结点(或为原子结点,或为表结点) ,tp指向广义表的表尾(表尾为空时,指针为空,否则必为表结点)。 (2) 这种结构求广义表的长度、深度、表头、表尾的操作十分方便。 (3) 表结点太多,造成空间浪费。也可用图5-15所示的结点结构。 图5-15 广义表的链表结点结构示意图 (b) 表结点 (a) 原子结点 tag=1 表头指针hp 表尾指针tp tag=0 原子的值 表尾指针tp 习 题 五 ⑴ 什么是广义表?请简述广义表与线性表的区别? ⑵ 一个广义表是(a, (a, b), d, e, (a, (i, j), k)) ,请画出该广义表的链式存储结构。 ⑶ 设有二维数组a[6][8],每个元素占相邻的4个字节,存储器按字节编址,已知a的起始地址是1000,试计算: ① 数组a的最后一个元素a[5][7]起始地址; ② 按行序优先时,元素a[4][6]起始地址; ③ 按行序优先时,元素a[4][6]起始地址。 在每个关系中,元素aj1j2…jn(0≦ji≦bi-2)都有一个直接后继。因此,就单个关系而言,这n个关系仍是线性表。 显然当n=1时, n维数组就退化为定长的线性表。反之, n维数组也可以看成是线性表的推广。 在经典算法中, 无论a[i][k]或b[k][j]的值是否为0 ,都要进行一次乘法运算,而实际上,两个中只要有一个为0 ,其积为0 。特别是当m 、 n 、 p很大且矩阵又是稀疏矩阵时,上述经典算法做了许多无效的运算。 下三角矩阵元素ai j保存在向量sa中时的下标值k与(i,j)之间的对应关系是: (i-1)(2n-i+2)/2+j-1 当i≧j时 n?(n+1)/2 当ij时 K= 1≦i,j≦ n (5-5) i?(i-1)/2+j-1 当i≦j时 n?(n+1)/2 当ij时 K= 1≦i,j≦n (5-6) 3 对角矩阵 矩阵中,除了主对角线和主对角线上或下方若干条对角线上的元素之外,其余元素皆为零。即所有的非零元素集中在以主对角线为了中心的带状区域中,如图5-6所示。 a11 a12 0 …. 0 a21 a22 a23 0 …. 0 0 a32 a33 a34 0 …. 0 … … … …. 0 …. 0 0 an n-1 an n 0 …. 0 an-1 n-2 an-1 n-1 an-1 n A= 图5-6 三对角矩阵示例 如上图三对角矩阵,非零元素仅出现在主对角(ai i
您可能关注的文档
最近下载
- 灯盏生脉胶囊配合康复训练对脑梗死患者肢体功能影响的临床观察.pdf VIP
- (高清版)-B-T 19973.1-2023 医疗保健产品灭菌 微生物学方法 第1部分:产品上微生物总数的确定.pdf VIP
- 西门子PLC与配方功能.pptx VIP
- 高中毕业生登记表(完整A4版).pdf VIP
- XX年春运驾驶员安全培训试题(有答案) .pdf VIP
- 2023年同等学力申硕全国统考计算机科学与技术真题与答案.pdf VIP
- 供应商管理:供应商行为准则的内容.doc VIP
- 机械设备行业矿山机械深度报告:千亿美元高端赛道,中国龙头迈向全球.docx
- 《黑水》完整中英文对照剧本.doc
- TOSHIBA东芝复合机e-STUDI02006产品说明书.pdf
文档评论(0)