数据结构-阶对称矩阵的压缩存储
需积分: 0 180 浏览量
更新于2024-08-24
收藏 702KB PPT 举报
"数据结构是计算机科学中一门重要的学科,主要研究数据的组织方式、存储结构和操作。本文档摘自清华大学严蔚敏教授的数据结构课程,内容涉及矩阵的压缩存储,特别是对称矩阵的存储优化。"
在数据结构中,矩阵是一种常见的数据组织形式,尤其在数学和计算机科学中广泛使用。对称矩阵是指上三角或下三角部分的元素与对角线对称位置的元素相等的矩阵。在存储对称矩阵时,由于其对称性,可以利用这一特性进行空间优化,避免重复存储。
文档中提到了一种压缩存储方法,即利用下标交换关系来计算矩阵元素aij在压缩存储序列sa[k]中的位置。计算公式为 LOC(aij) = LOC(sa[0]) + k*d = LOC(sa[0]) + [I*(I+1)/2 + J]*d。这里,k代表索引,d是每个元素占用的存储间隔,LOC函数用于获取元素的存储地址,I和J是矩阵中的行和列索引。通过这个公式,可以高效地在压缩存储序列中找到任何对称矩阵元素的位置,反之亦然。
举例来说,若矩阵元素a21和a12存储在sa[4]中,我们可以用公式k = I*(I+1)/2 + J求得k值,即k = 2*(2+1)/2 + 1 = 4。这表明在压缩存储的序列中,对称元素会共享同一个存储位置,从而节省空间。
数据结构的选择和设计对算法的效率至关重要。在电话号码查询系统、图书馆书目检索系统、教师资料档案管理和交通灯管理系统等实际问题中,数据结构的选择直接影响到解决问题的效率和便捷性。因此,数据结构不仅要考虑数据的逻辑结构(如链表、树、图等),还需要考虑其物理存储结构,以及针对这些结构定义的操作和算法。
在讨论数据结构时,通常会涉及到抽象数据类型(ADT),它定义了一组数据值和对这些值的操作集。ADT允许我们关注数据的逻辑特性和操作,而不是具体的实现细节。算法是解决问题的步骤集合,其设计需要考虑到时间和空间效率,常用效率度量包括时间复杂度和空间复杂度。
总结来说,本文档中的知识点聚焦于数据结构中的对称矩阵压缩存储,强调了数据结构在信息处理中的核心作用,以及在设计算法时如何根据数据的逻辑和物理结构来提高效率。同时,它也提醒了我们抽象数据类型和算法设计的重要性,这些都是理解和实践数据结构课程的基础。
2019-04-26 上传
2021-06-25 上传
2024-01-18 上传
2024-01-11 上传
2024-01-18 上传
2024-01-18 上传
2024-01-17 上传
2024-01-18 上传
2022-08-03 上传
活着回来
- 粉丝: 27
- 资源: 2万+