對稱矩陣的壓縮儲存

來源:互聯網
上載者:User

標籤:對稱軸   對角線   元素   

對稱矩陣:元素以主對角線為對稱軸對應相等的矩陣

對稱矩陣儲存採用上三角、下三角儲存,下三角符合i>=j(行大於等於列),我採用的是下三角儲存,儲存可以儲存下三角的元素,但是列印時還需要將其轉成對稱矩陣形式列印

建構函式:

SymmetricMatrix(T* a,size_t size):_a(new T[size*(size+1)/2]),_size(size*(size+1)/2),_n(size){int index=0;for(size_t i=0;i<size;i++){for(size_t j=0;j<size;j++){if(i>=j){_a[index++]=a[i*size+j];}elsebreak;}}}

列印矩陣

void Display(){for(size_t i=0;i<_n;i++){for(size_t j=0;j<_n;j++){if(i>=j){cout<<_a[i*(i+1)/2+j]<<" ";}else{cout<<_a[j*(j+1)/2+i]<<" ";}}cout<<endl;}cout<<endl;}

元素的訪問

T& Access(size_t i,size_t j){if(i<j){swap(i,j);}return _a[i*(i+1)/2+j];}


對稱矩陣的壓縮儲存

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.