数据结构之数组
一、数组
数组:按一定格式排列起来的具有相同类型的数据元素集合。
一维数组:若线性表中的数据元素为非结构的简单元素,则称为一维数组
一维数组的逻辑结构:线性结构。定长的线性表
数组的特点:结构固定——定义后维数和维界不再改变
一般不做删除和添加元素的操作。做修改,取元素
二维数组:可以看作线性表也可不看做线性表
线性表结构是数组结构的一个特例,而数组结构又是线性表结构的扩展。
二、特殊矩阵的压缩
矩阵:一个由m*n个元素排列成的m行n列的表
不适宜常规存储的矩阵:值相同的元素很多且呈某种规律分布,零元素多。
矩阵的压缩存储:为多个相同的非零元素只分配一个存储空间,对零元素不分配空间
什么样的矩阵能压缩:对称矩阵、对角矩阵、三角矩阵、稀疏矩阵(很多零元素)
1.对称矩阵的压缩
特点:在n*n的矩阵a中,满足如下性质:aij = aji
存储方法:只存储下(或者上)三角(包括主对角线)的数据元素。共占用n(n+1)/2个元素空间。
2.三角矩阵的压缩存储
特点:对角线以下(或者以上)的数据元素(不包括对角线)全部为常数c
存储方法:重复元素c共享一个元素存储空间,共占用n(n+1)/2+1个元素空间
3.对角矩阵
特点:在n*n的方阵中所有非零元素都集中在以主对角线为中心的带状区域中,区域外的值全部为0,则称为对角矩阵。
4.稀疏矩阵
在m*n的矩阵中有t个非零元素
当t/(m*n)小于0.05时别成为稀疏矩阵三元组法:{(i,j,aij)}
由(i,j,aij)来唯一确定i行j列的aij元素
优点:非零元在表中按行序有序储存,便于进行存储处理的矩阵运算
缺点:不能随机存取,
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本