你知道有哪些特殊矩阵吗?
👽👽👽 概述:
😄😄😄特殊矩阵:具有相同的数据或0元素,且数据分布具有一定规律。
😆😆😆分类:
💖💖对称矩阵
💖💖三级矩阵
💖💖对角矩阵
😏😏😏特殊矩阵只有部分有数据,其他内容为零,使用内存中一维空间(一片连续的存储空间)进行存储时,零元素没有必要进行存储,通常都需要进行压缩存储。
😘😘😘压缩存储:多个值相同的矩阵元素分配同一个存储空间,零元素不分配存储空间。
💔💔 存储有效数据,零元素和无效数据不需要存储。
💔💔 不同的举证,有效和无效定义不同。
👽👽👽对称矩阵压缩存储【重点】:
🐋🐋 定义及其压缩方式:
🎃🎃🎃什么是对称矩阵:a(i,j) = a(j,i)
🎃🎃🎃 对称矩阵的压缩方式:共4种 :
💦💦💦💦下三角部分以行序为主序存储的压缩 。
💦💦💦💦下三角部分以列序为主序存储的压缩 。
💦💦💦💦上三角部分以行序为主序存储的压缩 。
💦💦💦💦上三角部分以列序为主序存储的压缩 。
🐋🐋 压缩存放及其公式 :
🎅🎅🎅压缩后存放到一维空间(连续的存放空间中):
🎅🎅🎅对称矩形 A(i,j) 对应 一维数组 s[k] , k与i和j 公式:
🐋🐋 小试牛刀:
1、设有一个 20 阶的对称矩阵 A,采用压缩存储的方式,将其下三角部分以行序为主序存
储到一维数组 B 中(矩阵 A 的第一个元素为 a1,1,数组 b 的下标从 1 开始),则矩阵中元素 a9,2 在一维数组 B 中的下标是:
( )。
A.41
B.32
C.18
D.48
2、设有一个 15 阶的对称矩阵 A,采用压缩存储方式将其下三角部分以行序为主序存储到
一维数组 b 中。(矩阵 A 的第一个元素为 a1,1,数组 b 的下标从 1 开始),则数组元素
b[13]对应 A 的矩阵元素是( )。
A.a5,3
B.a6,4
C.a7,2
D.a6,8
💙 💜 ❤️ 💙 💜 ❤️ 💚💙 💜 ❤️ 💚💙 💜 ❤️ 💚💙 💜 ❤️ 💚💙 💜 ❤️ 💚💙 💜 ❤️
🌊🌊快来认识一下三角矩阵吧!
👽👽 概述&存储方式
🍁🍁🍁 三角矩阵分为:上三角矩阵、下三角矩阵。
❄️❄️上三角矩阵:主对角线(不含主对角线)下方的元素值均为0。只在上三角的位置进行数据存储。
❄️❄️ 下三角矩阵:主对角线(不含主对角线)上方的元素值均为0。只在下三角的位置进行数据存储 。
🍁🍁🍁 存储方式:三角矩阵的存放方式,与对称矩阵的存放方式相同。
👽👽 上三角矩阵
🍁🍁🍁 上三角矩阵实例:
🍁🍁🍁 上三角矩阵对应一维数组存放下标,计算公式 :
👽👽 下三角矩阵
🍁🍁🍁 下三角矩阵实例:
🍁🍁🍁 下三角矩阵对应一维数组存放下标,计算公式:
💙 💜 ❤️ 💙 💜 ❤️ 💚💙 💜 ❤️ 💚💙 💜 ❤️ 💚💙 💜 ❤️ 💚💙 💜 ❤️ 💚💙 💜 ❤️ 💚
🌊🌊知道对角矩阵,对角在什么地方吗?
🌲🌲 定义&名词
🍁🍁🍁 对角矩阵:矩阵的所有非零元素都集中在以主对角线为中心的带状区域中,即除主对角线上和直接在主对角线上、下方若干条对角线上的元素之外,其余元素皆为零。
🍁🍁🍁 名词:
❄️❄️ 半带宽:主对角线一个方向 对角线的个数,个数为d。
❄️❄️带宽:所有的对角线的个数。个数为 2d+1。
❄️❄️ n阶2d+1对角矩阵非零元素个数:n(2d+1) - d(d+1)。
❤️💜💚n(2d+1) :下图中所有颜色的个数
❤️ 💜💚d(d+1)/2 :右下方浅蓝色三角的个数
❤️💜💚d(d+1) :2个三级的个数(右下方、左上方)
❄️❄️ 一维数组存储个数:n(2d+1) ,若某行没有2d+1个元素,则0补足。
🌲🌲 压缩存储
❄️❄️ 压缩后存放一维数组,第一行和最后一行不够2d+1,所以需要补零。
💙 💜 ❤️ 💙 💜❤️ 💚 💙 💜 ❤️ 💚💙 💜 ❤️ 💚💙 💜 ❤️ 💚💙 💜 ❤️ 💚💙 💜 ❤️💚