云南大学(柳青)数据结构讲义5.pptVIP

  • 10
  • 0
  • 约1.25万字
  • 约 41页
  • 2017-07-30 发布于浙江
  • 举报
* * 5.3 矩阵的压缩存储 ? 当矩阵的非零元个数和位置在操作过程中变化较大时,采用链式存储结构表示三元组的线形表更为合适。 ? 链表中的每个非零元可用一个含五个域的结点表示,其中i,j和e 分别表示该非零元所在的行、列和值,指针right用以链接同一行中下一个非零元,指针down用以链接同一列中下一个非零元。 ? 同一行的非零元通过指针right链接成一个链表。 ? 同一列的非零元通过指针down链接成一个链表。 * * 5.3 矩阵的压缩存储 每个非零元既是某个行链表中的一个结点,也是某个列链表中的一个结点,整个矩阵构成一个十字链表。 ? 所有的行链表的头指针组成一个指针数组。 ? 所有的列链表的头指针组成一个指针数组。 ? 稀疏矩阵的十字链表由行链表头指针数组、列链表头指针数组、行数、列数和非零元个数组成。 建立十字链表算法见 P104 算法5.4。 * * 5.4 广义表的定义 广义表的概念: n( ? 0 )个表元素组成的有限序列,记作: LS = (a0, a1, a2, …, an-1) LS是表名,ai是表元素,它可以是表(称为子表),可以是数据元素(称为原子)。 a0为表头, ( a1, a2, …, an-1)为表尾。 n为表的长度。n = 0 的广义表为空表。 例如: A = ( ) B = ( 6, 2 )

文档评论(0)

1亿VIP精品文档

相关文档