矩阵的压缩存储

简介:

一、压缩存储

    指为多个值相同的元只分配一个存储空间,对零元不分配空间。

二、矩阵分类

    1、假如值相同的元素或者零元素在矩阵中的分配有一定的规律,则我们称此类矩阵为特殊矩阵;反之,称为稀疏矩阵。

    2、n阶对称矩阵

        满足Aij = Aji   1<=i,j<=n;

    3、稀疏矩阵:非零元较零元少,且分布没有规律。

三、n阶对称矩阵A的压缩存储

 
    1、

    2、该存储方法也适合三角矩阵,所谓三角矩阵指矩阵的上(下)三角(不包括对角线)中的元均为常数c或者零的n阶矩阵。除了和对称矩阵一样,只存储其上(下)三角中的元之外,还要存储一个存储常数C的存储空间即可。

四、稀疏矩阵    

    1、假设再m*n的矩阵中,有t个元素不为零。另

        & = t/(m*n).

    称&为矩阵的稀疏因子。通常认为&<=0.05时称为稀疏矩阵。

五、三元组顺序表

    1、一个三元组(i,j,aij)可以唯一确定矩阵A的一个非零元。

    2、假设以顺序存储结构来表示三元组表,则可以得到稀疏矩阵的李忠压缩存储方式—三元组顺序表。

六、转置矩阵

 
    转置运算是一种最简单的矩阵运算。对一个m*n的矩阵M,它的转置矩阵T是一个n*m的矩阵,且T(i,j) = M(j,i), 1<=i<=n,1<=j<=m;
七、十字链表
     在链表中,每一个非零元可用一个含有5个域的结点表示,其中i、j和e表示非零元的位置和数据。。向右域right用以链接同一行中的下一个非零元,向下域down用以链接同一列中下一个非零元。同一行的非零元通过right域链接一个线性链表,同一列的非零元通过down域链接成一个线性表,每个非零元既是某一行链表中的结点,也是某一个列链表中的结点,整个矩阵构成了一个十字交叉的链表,所以称这样的存储结构为十字链表,可用两个分别存储行链表的头指针和列链表的头指针的一维数组表示。
相关文章
|
C++
基于Qt的简易聊天室设计与实现
基于Qt的简易聊天室设计与实现
1073 1
|
Web App开发 Dart 监控
Golang+chromedp+goquery 简单爬取动态数据 |Go主题月
胖sir,最近一段时间正在使用golang来进行开发项目,慢慢的对golang有了一些了解,突然有一天,我想用golang来实现爬取网站上的数据,例如天气预报,每日一句等等,发现这些网站的数据都是javascript动态生成,苦恼呀,不知道如何才能把网站上的动态数据获取下来,为我所用呀,例如我抓取到动态数据之后发邮件给我哟
878 0
|
机器学习/深度学习 算法 机器人
基于QLearning强化学习的较大规模栅格地图机器人路径规划matlab仿真
本项目基于MATLAB 2022a,通过强化学习算法实现机器人在栅格地图中的路径规划。仿真结果显示了机器人从初始位置到目标位置的行驶动作序列(如“下下下下右右...”),并生成了详细的路径图。智能体通过Q-Learning算法与环境交互,根据奖励信号优化行为策略,最终学会最优路径。核心程序实现了效用值排序、状态转换及动作选择,并输出机器人行驶的动作序列和路径可视化图。
731 85
|
C++ 容器
必知的技术知识:emplace
必知的技术知识:emplace
|
存储 人工智能 数据库
面向医疗场景的大模型 RAG 检索增强解决方案
本方案为您介绍,如何使用人工智能平台 PAI 构建面向医疗场景的大模型 RAG 检索增强解决方案。
|
安全 Linux 算法框架/工具
open Euler安全加固
open Euler安全加固
1563 11
|
人工智能 数据可视化 数据挖掘
重磅:ChatGPT提供第三方插件ChatGPT plugins,每个人、每个公司都可用上大模型
重磅:ChatGPT提供第三方插件ChatGPT plugins,每个人、每个公司都可用上大模型
1504 0
|
存储 ice 索引
经验大分享:PJSUA2开发文档
经验大分享:PJSUA2开发文档
893 0
|
Kubernetes jenkins 持续交付
Jenkins 与 Kubernetes 的集成:实现高效的资源管理和自动化部署
【8月更文第31天】随着微服务架构的普及,Kubernetes 已经成为了容器编排的事实标准。Kubernetes 提供了一种强大的方式来管理容器化的应用程序,而 Jenkins 则是持续集成与持续部署(CI/CD)领域的一个重要工具。将 Jenkins 与 Kubernetes 集成,不仅可以充分利用 Kubernetes 的资源管理能力,还能通过 Jenkins 实现自动化构建、测试和部署,从而提高开发效率和部署速度。本文将详细介绍如何将 Jenkins 集成到 Kubernetes 环境中,并提供具体的代码示例。
1535 0
|
前端开发 开发者 UED
【专栏:HTML与CSS前端技术趋势篇】网页设计中的CSS Grid与Flexbox之争
【4月更文挑战第30天】本文对比了CSS Grid和Flexbox两种布局工具。Flexbox擅长一维布局,简单易用,适合导航栏和列表;CSS Grid则适用于二维布局,能创建复杂结构,适用于整个页面布局。两者各有优势,在响应式设计中都占有一席之地。随着Web标准发展,它们的结合使用将成为趋势,开发者需掌握两者以应对多样化需求。
439 5