2024-11-16 特殊矩阵的压缩存储

一、数组的存储结构

1.一维数组:各元素大小相同,且物理上连续存放。a[i]=起始地址+i*siezof(数组元素大小)

2.二维数组:b[j][j]=起始地址+(i*N+j)*sizeof(数组元素大小)

二、特殊矩阵

1.普通矩阵的存储:使用二维数组来存储。

2.对称矩阵的压缩存储:若n阶方阵中任意一个元素a ij都有 aij-aji。则该矩阵为对称矩阵。(主对角线: i=j)

压缩存储策略:只存储主对角线+下三角区。

按行优先:

3.三角矩阵的压缩存储: 除主对角线和下三角区(或上三角区),其余的元素都相同。

4.三对角矩阵的压缩存储: 当Ii-jI>1时,有a ij =0。(1<=i,j<=n)

5.稀疏矩阵的压缩:非零元素远远少于矩阵元素的个数。

法1:

法二:

总结:

相关推荐
一叶落4386 分钟前
【LeetCode 289】生命游戏(C语言)|原地算法 + 状态标记法
c语言·数据结构·算法·leetcode·游戏
星轨初途10 分钟前
郑州轻工业大学“筑梯杯” 2025级新生程序设计大赛暨省内高校邀请赛——题解
android·c++·经验分享·笔记·算法
淮南颂恩少儿编程13 分钟前
淮南少儿编程 | CSP-J真题详解:在淮南也有接地气的算法课
c++·人工智能·python·深度学习·算法·青少年编程·蓝桥杯
zh路西法13 分钟前
【宇树机器人强化学习】(五):go2奖励函数的实现与模型检验
python·深度学习·算法·机器学习·机器人
m0_7488735514 分钟前
模板编译期排序算法
开发语言·c++·算法
2401_8426236515 分钟前
基于C++的爬虫框架
开发语言·c++·算法
j_xxx404_22 分钟前
LeetCode模拟算法精解I:替换问号,提莫攻击与Z字形变换
开发语言·数据结构·c++·算法·leetcode
superkcl202234 分钟前
C++初始化 和 赋值
开发语言·c++·算法
夏日听雨眠39 分钟前
银行数据管理系统(部分)
数据结构
前端百草阁43 分钟前
Vue3 Diff 算法详解
前端·javascript·vue.js·算法·前端框架