java数据结构至对称矩阵压缩存储

本文深入探讨了对称矩阵的压缩存储原理,详细解析了一维数组存储对称矩阵的方法,包括元素个数的计算公式及如何通过下标转换访问矩阵元素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

刚刚刷java选择题,遇到的对称矩阵压缩存储问题,我们知道对称矩阵是aij=aji的矩阵,压缩存储可以采用一维数组和二维数组存储。

此处只讨论一维数组存储的形式,设数组下标从0开始,对称矩阵为n维矩阵。

此矩阵有n*n个元素,主对角线上有n个,因为aij=aji,所以只需要存储上三角或者下三角的元素即可,所以数组的容量为(n*n-n)/2+n=n(n+1)/2

(注:-n是先去除主对角线上的元素)

n阶对称矩阵的压缩存储对应关系

  aij=aji   1<=i<=n,1<=j<=n

 

 元素个数m = n*(n+1)/2

打印对称矩阵第i行,第j列的元素,与一维数组的下标关系为:

         i*(i-1)/2+j-1  当i>=j

 k=

         j*(j-1)/2+i-1  当i<j

 

转载于:https://www.cnblogs.com/bupt-liqi/p/10763758.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值