A. 假设一个10阶的下三角矩阵A按列优顺序压缩存储在一维数组C中,则C数组的大小应为________。 怎么做
大小为55.
一个10阶的下三角矩阵A,它的下三角部分总共有1+2+3+...+n=n(n+1)/2元素,也就是第1行1个元素,第2行2个元素...第10行有10个元素,因此C数组大小为1+2+3+...+10= 55。
一个矩阵称为下三角矩阵如果对角线上方的元素全部为0。
下三角矩阵可分为严格上(下)三角矩阵和原子三角矩阵。
若上(下)三角矩阵对角线元素全是1,则称为严格上(下)三角矩阵。
一个原子下(上)三角矩阵是矩阵的一种特殊形式,所有的地方非对角元素为零,除了在单个列的条目。这样一个矩阵也被称为弗罗贝尼乌斯矩阵,高斯矩阵或高斯变换矩阵。即原子下三角矩阵的形式
(1)下三角矩阵的压缩存储扩展阅读:
许多矩阵运算保持下三角性不变:
1、两个下三角矩阵的和下三角。
2、两个下三角矩阵的乘积是下三角。
3、一个可逆的下三角矩阵的逆是下三角。
4、下三角矩阵与常数相乘是一个下三角矩阵。
以上性质对上三角矩阵也成立。
B. 鐗规畩鐭╅樀镄勫帇缂╁瓨鍌锛氢笂涓夎掋佸圭О銆佷笅涓夎掑瓨鍌锛屾湁涓変釜闂棰樸傛眰澶т緺浠瑙g瓟~浜蹭竴涓獈杩欎釜锲捐兘鐪嬫竻钖楋纻
1.k=n*(n+1)/2镄勫师锲犳槸锛氩逛簬涓夎掔烦阒碉纴浠1鍒癗镄勬诲拰鏄杩欎箞澶氾纴涔熷氨鏄璇存暣涓鐭╅樀链夎繖涔埚氩厓绱犮傚彟澶栨d笁瑙挜樀瀵瑰簲姝f柟褰銆
瀵圭О鐭╅樀婊¤冻A镄勮浆缃涔熷氨鏄镊韬镄勭壒镣癸纴鍏幂礌涓婏纴a[i,j] = a[j,i]銆傚疄闄呬笂镄勫瓨鍌ㄥ彲浠ュ埄鐢ㄤ笁瑙挜樀銆傛墍浠ヨ佸疄璇存垜瀵逛簬浠栧圭О阒电畻娉曚负浠涔埚皯涓涓鍏幂礌涔熸湁鐤戞儜銆
鍙鑳芥槸涓夎挜樀鍙浠ュ瑰簲涓岖瓑闀跨殑鐭╅樀锛屾墍浠ラ犳垚浜唊鍊间笉涓镙枫
2.涓娄笁瑙挜樀锛屽瓨鍦ㄧ殑鍏幂礌鏄婊¤冻[1<= j <=n, i >= j]镄勫叧绯籁杩欓噷鐢╥琛ㄦí鍧愭爣j琛ㄧ旱鍧愭爣]锛屽傛灉鏄闀3瀹4镄勫綋铹朵笉鑳藉拰闀4瀹3镄勭浉鎻愬苟璁猴纴璇旷潃鐢荤敾灏辨槑锏戒简銆
3.瀵圭О阒典笉浼氩嚭鐜板儚涓夎挜樀闾f牱链変竴灏忚掕缮鏄鍏朵粬鏁板瓧镄勬儏鍐点傝繖涓鍏朵粬鏁板瓧灏辨槸(6+1)-1=6銆
4.铡嬬缉瀛桦偍锛屽彧鏄灏嗛儴鍒嗙﹀悎𨱒′欢镄勭烦阒靛噺灏戜竴閮ㄥ垎镄勫瓨鍌ㄧ┖闂淬傝佸疄璇存垜涔熸劅瑙変笉寰堟湁鐢锛岄櫎闱炰粬澶勭悊镄勬暟鎹链韬蹇呯劧鍏峰囨ょ被鐗圭偣銆
5.锲哄畾镄勶纴澶氲瘯鍑犳¤嚜宸辫颁笅𨱒ョ劧钖庢垒镓惧氨濂姐傚傛灉娌¤伴敊镄勮瘽锛屽湪鐭╅樀涓婄敾鐢诲氨鍙浠ョ湅鍑烘潵銆
6.stdlib.h鏄镙囧嗳镄勮緭鍏ヨ緭鍑哄簱锛屾渶涓哄父鐢锛岃呖灏戦噷闱㈠寘𨰾浜唖canf绛夊嚱鏁帮纴鍙瑕佷綘闇瑕乸rintf浣犲氨涓嶈兘镓旀帀瀹冦傚惁鍒欎细鍑虹幇鍑芥暟链瀹氢箟镄勯梾棰樸傛瘯绔熻瑷链韬涓嶆彁渚涘嚱鏁扮被搴掳纴绫诲簱闇瑕佸彟琛屽紩鐢ㄣ
C. 矩阵的压缩存储是什么
二维数组在形式上是矩阵,因此一般用二维数组来存储矩阵。在不压缩存储的情况下,矩阵采用按行优先或按列优先方式存储,占用的存储单元数等于矩阵的元素个数。在实际应用中,经常出现一些阶数很高的矩阵,同时在矩阵中非零元素呈某种规律分布或者矩阵中有大量的零元素,若仍然用常规方法存储,可能存储重复的非零元素或零元素,这将造成存储空间的大量浪费。因此对这类矩阵进行压缩存储,从而合理地利用存储空间。
为了节省存储空间,可以利用特殊矩阵的规律,对它们进行压缩存储,也就是说为多个值相同的元素只分配一个存储单元,对零元素不分配空间。适合压缩存储的矩阵一般是值相同的元素或者零元素在矩阵中分布有一定规律的特殊矩阵和稀疏矩阵。常见的特殊矩阵有对称矩阵、三角矩阵和对角矩阵。