数据结构-线性表

运算受限的线性表

<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;

相关推荐
Yeats_Liao7 小时前
MindSpore开发之路(八):数据处理之Dataset(上)——构建高效的数据流水线
数据结构·人工智能·python·机器学习·华为
客梦8 小时前
数据结构-线性表
数据结构·笔记
鹿角片ljp8 小时前
力扣226.翻转二叉树-递归
数据结构·算法·leetcode
WBluuue9 小时前
数据结构和算法:Morris遍历
数据结构·c++·算法
客梦9 小时前
数据结构-红黑树
数据结构·笔记
Sheep Shaun10 小时前
STL:string和vector
开发语言·数据结构·c++·算法·leetcode
winfield82110 小时前
滑动时间窗口,找一段区间中的最大值
数据结构·算法
k***921611 小时前
list 迭代器:C++ 容器封装的 “行为统一” 艺术
java·开发语言·数据结构·c++·算法·list
x70x8011 小时前
C++中auto的使用
开发语言·数据结构·c++·算法·深度优先
sin_hielo12 小时前
leetcode 2054(排序 + 单调栈,通用做法是 DP)
数据结构·算法·leetcode