矩阵压缩存储与AIJ地址计算:数据结构中的关键概念

需积分: 0 2 下载量 91 浏览量 更新于2024-08-24 收藏 705KB PPT 举报
在清华大学严蔚敏教授的数据结构课程中,章节讨论了矩阵的压缩存储和索引计算。"aij"元素在阶对称矩阵中的地址可以通过计算得出,公式为LOC(aij) = LOC(sa[k]),其中sa[k]是矩阵元素的存储位置。这里的LOC表示逻辑地址,sa是矩阵的压缩存储形式,k的计算公式为k = I*(I+1)/2 + J,其中I和J是矩阵中的行和列下标。 sa数组的索引与矩阵元素的位置有着直接对应关系:sa[0]通常存放对角线元素a00,然后根据k的递增顺序存储其他元素。这种存储方式减少了存储空间,因为对称矩阵只需要存储一半的元素。例如,a21和a12都存储在sa[4]中,这是通过计算I=2和J=1代入公式得到的。 这种索引计算方法使得对任意给定的(i, j)坐标,可以迅速找到矩阵元素的位置,反之,sa中的每个索引k都可以对应到矩阵中的一个(i, j)对。压缩存储sa[n(n+1)/2]被视作阶对称矩阵的有效表示,特别适合处理大型对称矩阵的存储和访问。 数据结构课程中强调了数据的表示和处理的重要性,特别是在程序设计中。通过设计如电话号码查询系统、图书馆书目检索系统、教师资料档案管理系统和多叉路口交通灯管理等实际问题,课程让学生理解数据结构如何影响算法选择和效率。例如,二维数组、表结构和向量等不同的数据结构设计决定了处理特定问题的不同方法和性能。 在基本概念和术语方面,数据结构涉及数据(Data)的逻辑结构(如数组、链表、树等)和物理结构(如何在内存中存储),以及定义在这些结构上的操作(如查找、插入、删除等)。此外,术语如逻辑地址(LOC)、索引(index)和抽象数据类型(Abstract Data Type, ADT)也在课程中占有重要地位,它们是理解和设计高效数据结构的基础。 总结来说,清华大学严蔚敏教授的数据结构课程深入探讨了矩阵的压缩存储技术,展示了如何通过合理的数据结构来优化算法性能,以及如何应用数据结构解决实际问题。这对于理解和设计高效、实用的计算机程序至关重要。