tft每日頭條

 > 科技

 > c語言對稱數據

c語言對稱數據

科技 更新时间:2024-10-13 19:11:30
對稱矩陣

(1)特點

矩陣中行數等于列數,即它是一個方陣,且第i行第j列的元素與第j行第i列的元素對應相等,即ai,j=aj,i

例5.5 圖5-5是一個4階對稱的對稱矩陣,虛線所示部分稱為對稱矩陣的下三角部分(包括對角線部分),顯然對下三角部分數組元素ai,j,一定有i≥j。

c語言對稱數據(數據結構-對稱矩陣的壓縮存儲)1

對稱矩陣

(2)對稱矩陣的壓縮存儲原理

根據對稱矩陣的特點(ai,j=aj,i),行數=列數,所以隻要存儲下三角部分的矩陣元素,其他矩陣元素可根據對稱矩陣的特性得到。

(3)存儲方法

定義一個一維數組,其數據類型與對稱矩陣的相同,長度大于等于對稱矩陣的下三角部分的元素個數。确定在一維數組中存儲的起始點,以行序為主,依次存儲下三角部分的矩陣元素到一維數組中。

例5.6 對稱矩陣的壓縮存儲

用對稱矩陣的壓縮存儲方法,把上圖5-5所示的矩陣A存儲到一維數組b中。一維數組存儲的起始下标為零,如圖5-6所示。

c語言對稱數據(數據結構-對稱矩陣的壓縮存儲)2

對稱矩陣的壓縮存儲

例5.7 在例5.6中,求矩陣元素a4,2對應一維數組b中的數組元素。設矩陣在存放時,從一維數組的第一個元素b[0]開始。

分析:矩陣元素a4,2在第4行第2列,而下三角部分的前3行的元素個數為:1 2 3=6,第4行從第1列到第2列有兩個元素。共有6 2=8個元素。

由此,a4,2是下三角部分的第8号元素。存放時從元素b[0]開始,所以矩陣元素a4,2 對應一維數組中的數組元素為b[7]。

(4)對稱矩陣壓縮存儲的關系式

設有對稱矩陣A,一維數組b,把矩陣A的下三角部分壓縮存儲到一維數組b中。矩陣元素ai j,(i≥j),對應于b[k],則有:

k= a[i(i-1)/2 j-1] 從b[0]開始存儲

k= a[i(i-1)/2 j] 從b[1]開始存儲

注:當i≤j時,因為ai,j=aj,i,隻要按照aj,i計算即可。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved