亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

對稱矩陣的壓縮存儲

2019-11-06 06:32:03
字體:
來源:轉載
供稿:網友

對稱矩陣,相信大家都有所了解,即元素為以主對角線為對稱軸對應相等的矩陣。故而會有許多相等的元素。 這種矩陣如果很大,存儲時必然會浪費很多空間,本文講解對稱矩陣的壓縮存儲。 以如下4*4對稱矩陣為例: 對稱矩陣 本文考慮只存儲對稱矩陣的下三角元素(上三角同樣可行),即下圖灰色部分 對稱矩陣的下三角部分 那么很顯然,我們可以將這樣一個對稱矩陣壓縮存儲到一個一元數組中,從而節省較多的空間,接下來我們分析一下如何存儲。 分析:第一行有一個元素,第二行有兩個元素……第i行有i個元素…… 若對稱矩陣是n*n的,則我們需要一個長度為1+2+…+n的數組來依次存儲每行元素,由如下的等差數列前n項和公式: 等差數列前n項和公式 計算n*n的數組壓縮存儲時所需空間,求得: 轉換公式 以以上矩陣為例,我們需要一個長度為10的數組b來存儲原數組a的所有下三角元素,接下來我們分析如何根據下標i,j獲取到我們需要的那個數字。如根據2,1獲取到下圖中紅框框住的元素2: 根據下標獲取元素 分析:首先,由于我們只存儲了下三角元素,故而在接收到ij時需進行判斷,若i≤j即為上三角的值,需swap(i,j)使得i≥j(因為矩陣是對稱的); 保證ij為下三角的下標后,觀察數組a。 第一行的元素1將存在數組b的第一個位置上, 第二行的兩個元素3、-6將存在數組b的第二、三個位置上 …… 第i行的i個元素將存在數組b的第1+2+…+(i-1)+1個位置上, 即前i-1行元素的個數(第x行有x個元素)+1,存儲形式如下圖所示: 壓縮存儲形式 那么現在我們用C++的模板實現對稱矩陣的壓縮存儲。 成員變量應有T類型的指針_a,原數組(n*n)大小_n; 成員函數除去構造、析構函數,為了防止淺拷貝,應寫出拷貝構造、賦值運算符重載、打印數組函數以及獲取ij下標對應元素的函數。 代碼如下:

template<class T>class SymmetricMatrix{public: SymmetricMatrix() : _a(NULL), _n(0) {} SymmetricMatrix(T* a, size_t n) : _a(new T[(n*(n + 1)) >> 1])//此處用前n項和公式求矩陣壓縮后所需空間大小 , _n(0) { for (size_t i = 0; i < n; ++i) { for (size_t j = 0; j <= i; ++j) _a[_n++] = a[i*n + j]; } _n = n; } SymmetricMatrix(const SymmetricMatrix& matrix) :_a(new T[(matrix._n * (matrix._n + 1)) >> 1]) , _n(matrix._n) { for (size_t i = 0; i < ((_n*(_n + 1)) >> 1); ++i) _a[i] = matrix._a[i]; } SymmetricMatrix& Operator=(SymmetricMatrix matrix) { swap(_a, matrix._a); swap(_n, matrix._n); return *this; } ~SymmetricMatrix() { delete[] _a; _a = NULL; }public: void PRint() { for (size_t i = 0; i < _n; ++i) { for (size_t j = 0; j < _n; ++j) { if (i >= j)// 此時ij標志下三角元素 cout << Get(i, j) << " "; else // 此時ij標志上三角元素,需交換獲取值 cout << Get(j, i) << " "; } cout << endl; } } T& Get(size_t i, size_t j) { return _a[(i*(i + 1) >> 1) + j]; }protected: T* _a; size_t _n;};

本博文若有何錯誤不足之處,歡迎大家一起交流或批評指正! 喜歡的朋友請點贊噢n(≧▽≦)n?。?/p>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
这里精品视频免费| 日韩欧美高清视频| 中文字幕av一区二区三区谷原希美| 亚洲自拍偷拍视频| 欧美激情视频三区| 亚洲一区二区福利| 国产视频综合在线| 亚洲性69xxxbbb| 亚洲精品久久7777777| 欧美视频13p| 日本免费久久高清视频| 亚洲欧洲日产国码av系列天堂| 国产欧美精品日韩| 91av在线免费观看| 色妞一区二区三区| 日本一区二区三区在线播放| 国产精品免费看久久久香蕉| 日韩精品中文字幕久久臀| 57pao成人永久免费视频| 成人网址在线观看| 欧美精品激情视频| 国产精品久久久久久久天堂| 97国产在线观看| 日韩电影中文字幕| 亚洲国产97在线精品一区| 中文字幕国产日韩| 久久在线精品视频| 午夜精品美女自拍福到在线| 国产精品久久久久久久9999| 国产精品免费久久久久久| 日本一区二区在线免费播放| 日韩中文字幕国产精品| 国产亚洲精品激情久久| 欧美日韩美女视频| 中文字幕v亚洲ⅴv天堂| 欧美激情精品久久久| 久久影院中文字幕| 中文字幕不卡在线视频极品| 国产成人精品电影| 国产91精品青草社区| 欧洲美女7788成人免费视频| 国产美女扒开尿口久久久| 日韩精品视频免费在线观看| 亚洲第一精品夜夜躁人人爽| 91国偷自产一区二区三区的观看方式| 午夜精品久久久久久久久久久久| 亚洲精品日韩久久久| 亚洲黄色片网站| 国产精品麻豆va在线播放| 久久久国产精彩视频美女艺术照福利| 亚洲嫩模很污视频| 午夜精品福利在线观看| 国产精品久久国产精品99gif| 国产精品jizz在线观看麻豆| 国产第一区电影| 欧美日韩在线视频一区| 国产一区二区三区在线播放免费观看| 亚洲日本中文字幕| 精品国模在线视频| 日韩视频免费中文字幕| 中文日韩在线视频| 欧美日韩国产成人| 日本久久亚洲电影| 日韩av中文字幕在线| 欧美www在线| 91av视频在线观看| 日韩av中文字幕在线| 亚洲一区二区三区乱码aⅴ蜜桃女| 欧美一区二区三区免费视| 亚洲视频电影图片偷拍一区| 久久久久久久色| 国产成人免费91av在线| 欧美另类在线播放| 色偷偷噜噜噜亚洲男人的天堂| 日韩欧美国产激情| 亚洲欧美日本另类| 成人黄色免费在线观看| 51午夜精品视频| 久久久久久尹人网香蕉| 国产精品99久久久久久人| 国产精品欧美激情在线播放| 国产精品欧美激情在线播放| 美日韩精品视频免费看| 亚洲国产中文字幕久久网| 日韩国产欧美精品一区二区三区| 欧美成人精品激情在线观看| 久久久天堂国产精品女人| 北条麻妃一区二区三区中文字幕| 欧美日韩国产成人| 精品久久久久久久久久国产| 日韩av片电影专区| 日韩精品在线观看视频| 日韩精品中文字| 欧美猛交ⅹxxx乱大交视频| 亚洲自拍偷拍视频| 日韩大片免费观看视频播放| 精品综合久久久久久97| 日韩中文字在线| 国内精品久久久久久| 日韩中文字幕亚洲| 中文字幕综合一区| 欧美在线视频网| 欧美精品一本久久男人的天堂| 中国china体内裑精亚洲片| 亚洲区在线播放| 国内精品久久久久| 91夜夜揉人人捏人人添红杏| 26uuu国产精品视频| 97香蕉超级碰碰久久免费软件| 91精品国产91久久久久福利| 伊人久久综合97精品| 成人黄色在线观看| 欧美日韩亚洲网| 91精品中文在线| 日韩中文字幕视频在线| 91精品国产高清自在线看超| 亚洲精品按摩视频| 国产精品亚洲视频在线观看| 欧美一区二区影院| 欧美一性一乱一交一视频| 久久九九国产精品怡红院| 欧美一区二区三区图| 少妇高潮久久久久久潘金莲| 国产精品久久久久久影视| 亚洲xxx大片| 欧美性少妇18aaaa视频| 日韩亚洲欧美中文高清在线| 91精品中国老女人| 日韩中文综合网| 欧美日本黄视频| 亚洲大胆美女视频| 992tv成人免费影院| 亚洲天堂av高清| 国产欧美精品在线| 欧美激情在线观看视频| 国产成人在线视频| 国模吧一区二区三区| 日韩精品在线播放| 欧美成人在线网站| 亚洲一区亚洲二区亚洲三区| 日韩美女激情视频| 96sao精品视频在线观看| 国产精品久久久久久久7电影| 久久精品电影网站| 精品久久中文字幕| 久久国产精品久久久久| 国产精品高潮呻吟久久av黑人| 久久综合久久美利坚合众国| 国内精品模特av私拍在线观看| 海角国产乱辈乱精品视频| 成人黄色激情网| 欧美视频一区二区三区…| 国产亚洲精品久久| 国产成人精品日本亚洲| 久久久久成人网| 色综合久久天天综线观看| 在线日韩av观看| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲日本中文字幕免费在线不卡| 亚洲人成电影网站色…| 538国产精品视频一区二区| 国产啪精品视频网站| 色妞色视频一区二区三区四区| 亚洲国产日韩欧美在线99|