数据结构-线性表

运算受限的线性表

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

相关推荐
澈2077 小时前
深入浅出C++滑动窗口算法:原理、实现与实战应用详解
数据结构·c++·算法
ambition202427 小时前
从暴力搜索到理论最优:一道任务调度问题的完整算法演进历程
c语言·数据结构·c++·算法·贪心算法·深度优先
代码旅人ing7 小时前
链表算法刷题指南
数据结构·算法·链表
不爱吃炸鸡柳8 小时前
单链表专题(完整代码版)
数据结构·算法·链表
Morwit9 小时前
【力扣hot100】 1. 两数之和
数据结构·c++·算法·leetcode·职场和发展
田梓燊12 小时前
2026/4/11 leetcode 3741
数据结构·算法·leetcode
葳_人生_蕤12 小时前
hot100——栈和队列
数据结构
Meme Buoy15 小时前
18.补充数学1:生成树-最短路径-最大流量-线性规划
数据结构·算法
汀、人工智能15 小时前
[特殊字符] 第89课:岛屿数量
数据结构·算法·数据库架构·图论·bfs·岛屿数量
九英里路15 小时前
cpp容器——string模拟实现
java·前端·数据结构·c++·算法·容器·字符串