数据结构-线性表

运算受限的线性表

<h1>数组</h1>

数组是线性表的一种推广。

二维数组a[m][n],每个元素占k个存储单元,以行序为主序的存储中,a[i][j]的位置=i*n+j,存储地址loc[i,j]=loc[0,0]+(i*n+j)*k。

<h1>矩阵的压缩存储</h1>

对称矩阵:满足n阶方阵中a[i,j]=a[j,i],以行为主序存储下三角中的元素,a[i,j]的位置K:

当i&gt;=j,即下三角中的元素,k=i(i+1)/2+j;

当i&lt;j,即上三角中的元素,k=j(j+1)/2+i;

三角矩阵:上三角或下三角全为固定值。

上三角矩阵中前i行的元素个数=i(2n-i+1)/2。a[i,j]的位置K:

当i&lt;=j,即上三角中的元素,k=i(2n-i+1)/2+j-i;

当i&gt;j,即下三角中的元素,k=n(n+1)/2;

下三角矩阵中a[i,j]的位置K:

当i&gt;=j,即下三角中的元素,k=i(i+1)/2+j;

当i&lt;j,即上三角中的元素,k=n(n+1)/2;

相关推荐
睡不醒的kun19 小时前
leetcode算法刷题的第二十六天
数据结构·c++·算法·leetcode·职场和发展·贪心算法
fangzelin520 小时前
基础排序--冒泡--选择--插入
数据结构·c++·算法
ZLRRLZ20 小时前
【数据结构】并查集
数据结构
没有bug.的程序员20 小时前
Redis 数据结构全面解析:从底层编码到实战应用
java·数据结构·redis·wpf
Lee嘉图20 小时前
数据结构——顺序表(Java)的基本操作
数据结构
金古圣人21 小时前
hot100 子串
数据结构·c++·算法·leetcode
jinmo_C++1 天前
2020年_408统考_数据结构41题
数据结构·c++·考研
悟能不能悟1 天前
快速排序算法详解
数据结构·算法·排序算法
JuneXcy1 天前
指针高级(3)
数据结构·算法
zhuoya_1 天前
子串:最小覆盖子串
java·数据结构·算法·leetcode