特殊矩阵

开发工具与关键技术:VS 与 数据结构与算法
作者:刘华叶
撰写时间:2020年5月6日

在用高级语言编程中,通常用二维数组来表示矩阵,然而在实际应用中会遇到一些特殊矩阵,所谓特殊矩阵是指矩阵中相同的元素或者零元素的分布有一定规律。比如:对称矩阵,三角矩阵和对角矩阵等。这些矩阵各有各的特点,下面我就给大家介绍一下。
对称矩阵:
因为对称矩阵中有大量相同的元素,如果给矩阵中每一个元素都分配存储空间的话,显然浪费了存储空间,根据对称矩阵的特点,可为对称矩阵中的每一个元素分配存储空间。
在这里插入图片描述

三角矩阵:
当一个方阵An×n的主对角线以下的所有元素皆为常数时,该矩阵称为三角矩阵。三角矩阵有上三角矩阵和下三角矩阵两种。上三节矩阵的特点总是对角线下方。(不包括主对角线)的元素均为常数C,就和下图一样。
在这里插入图片描述
而下三角矩阵的特点是对角线上方(不包括主对角线)的元素均为常数C。

在这里插入图片描述
三角矩阵和对称矩阵的压缩存储相似,根据三角矩阵的特点,对于上三角矩阵而言,应先存储完对角线上方的元素后,在存储对角线下方常量,因为是同一个常量,只需划分一个存储空间。

对角矩阵:
另外还有一类矩阵是对角矩阵,在这种矩阵中所有非零元素集中在主对角线为中心的带状区域中。
在这里插入图片描述
以为三角矩阵为例,安行存储,除第0行和第n-1行是两个元素外,其它每行均为3个非零元素,因此需要存储的元素为2+2+3(n-2)=3n-2.将其压缩存储在B数组中。如图所示。
在这里插入图片描述
由于这些特殊的矩阵元素有着一定的规律,在存储的时候为了节省存储空间,可以对这些矩阵进行压缩存储。所谓压缩存储就是为了多个值相同的元素分配一个存储空间,对零元素不分配存储空间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值