• 数组的存储和压缩


     数组


       定义
            一维数组是有限个相同类型的数据元素构成的序列,逻辑关系是相邻关系
            推广:一个二维数组可以看作相同类型的一维数组的一维数组;n维数组可以看作以n-1维数组作为元素的线性表
        性质
            数组中的数据元素数目固定
            数组中的数据元素具有相同的数据类型
            数组中的每一个元素都和一组唯一的下标对应
            数组是一种随机存储结构,可以随机存取数组中的任意数据元素
        存储结构
            一维数组
            二维数组
                按行优先存放
                按列优先存放

    无论是几维数组,无论是按行还是按列存储,都可以在O(1)的时间内算出指定下标的元素地址,体现出随机存储特性


        特殊矩阵的压缩存储
            对称矩阵
                一个n阶方阵按照其主对角线对称,可以使对称的两个元素共享一个存储空间
            上、下三角矩阵
                上三角矩阵是指下三角全为常数c的方阵,同理可得下三角矩阵
                对于上三角矩阵:存储主对角线和上三角的元素,另外再用一个元素存储常数c,并将压缩结果存放在一维数组中
            对角矩阵
                n阶方阵的所有非零元素都集中在以主对角线为中心的带状区域中
       
        将特殊的矩阵压缩到一个存储空间中,再按照公式做映射即可实现随机存取

    稀疏矩阵


        定义:当一个阶数较大的矩阵中非零元素远远小于矩阵元素的总个数时,称该矩阵为稀疏矩阵
        三元组表示:由于非零元素的随机性,所以当要压缩该矩阵时需要存储元素的行下标、列下标和元素值,构成一个三元组。此时不具有随机存取的性质

  • 相关阅读:
    DAY31:代码审计基础( PHP 篇)
    是时候掌握SpringMVC源码了-初探篇
    如何安装和使用three.js
    linux服务器在后台运行程序
    ELF文件结构
    盈科视控荣获创响中国大赛第四名
    Linux 内核中根据文件inode号获取其对应的struct inode
    Mybatis
    红黑树实现
    【无标题】
  • 原文地址:https://blog.csdn.net/weixin_51992178/article/details/130909538