java数据结构至对称矩阵压缩存储
生活随笔
收集整理的這篇文章主要介紹了
java数据结构至对称矩阵压缩存储
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
剛剛刷java選擇題,遇到的對稱矩陣壓縮存儲問題,我們知道對稱矩陣是aij=aji的矩陣,壓縮存儲可以采用一維數(shù)組和二維數(shù)組存儲。
此處只討論一維數(shù)組存儲的形式,設(shè)數(shù)組下標(biāo)從0開始,對稱矩陣為n維矩陣。
此矩陣有n*n個元素,主對角線上有n個,因為aij=aji,所以只需要存儲上三角或者下三角的元素即可,所以數(shù)組的容量為(n*n-n)/2+n=n(n+1)/2
(注:-n是先去除主對角線上的元素)
n階對稱矩陣的壓縮存儲對應(yīng)關(guān)系
? aij=aji?? 1<=i<=n,1<=j<=n
?
?元素個數(shù)m = n*(n+1)/2
打印對稱矩陣第i行,第j列的元素,與一維數(shù)組的下標(biāo)關(guān)系為:???????? i*(i-1)/2+j-1? 當(dāng)i>=j
?k=
???????? j*(j-1)/2+i-1? 當(dāng)i<j
?
轉(zhuǎn)載于:https://www.cnblogs.com/bupt-liqi/p/10763758.html
總結(jié)
以上是生活随笔為你收集整理的java数据结构至对称矩阵压缩存储的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: flutter 主题切换
- 下一篇: 页面适配的小栗子 - github