数据结构-线性表

运算受限的线性表

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

相关推荐
郝学胜-神的一滴3 小时前
深入解析Python字典的继承关系:从abc模块看设计之美
网络·数据结构·python·程序人生
不知名XL9 小时前
day50 单调栈
数据结构·算法·leetcode
cpp_250111 小时前
P10570 [JRKSJ R8] 网球
数据结构·c++·算法·题解
cpp_250111 小时前
P8377 [PFOI Round1] 暴龙的火锅
数据结构·c++·算法·题解·洛谷
季明洵12 小时前
C语言实现单链表
c语言·开发语言·数据结构·算法·链表
only-qi12 小时前
leetcode19. 删除链表的倒数第N个节点
数据结构·链表
cpp_250112 小时前
P9586 「MXOI Round 2」游戏
数据结构·c++·算法·题解·洛谷
浅念-12 小时前
C语言编译与链接全流程:从源码到可执行程序的幕后之旅
c语言·开发语言·数据结构·经验分享·笔记·学习·算法
爱吃生蚝的于勒12 小时前
【Linux】进程信号之捕捉(三)
linux·运维·服务器·c语言·数据结构·c++·学习
数智工坊13 小时前
【数据结构-树与二叉树】4.6 树与森林的存储-转化-遍历
数据结构