数据结构day5

数组与矩阵:

    数组:存储空间连续的表结构

    矩阵:带有二维信息的数据,一般使用二维数组来存储矩阵

    矩阵中存储数据的元素个数一般都少于所申请的内存个数,如果直接以二维数组存储会浪费内存,因此可以通过压缩矩阵成一维数组的方式来节约内存

    特殊矩阵:

                行数、列数 n   行号i  列号j

        上三角矩阵:

        [0][1][3][6]

        [ ][2][4][7]

        [ ][ ][5][8]

        [ ][ ][ ][9]

        压缩方法:使用一维数组压缩

        一维数组长度:(n+1)*n/2

        下标的对应关系:(j+1)*j/2+i == 一维数组下标

        要求:j >= i时 才有有效数据,才进行压缩

       

        下三角矩阵:

        [0][ ][ ][ ]

        [1][2][ ][ ]

        [3][4][5][ ]

        [6][7][8][9]

        压缩方法:使用一维数组压缩

        一维数组长度:(n+1)*n/2

        下标的对应关系:(i+1)*i/2+j == 一维数组下标

        要求:j <= i时 才有有效数据,才进行压缩

        对称矩阵:

                沿左上-右下对角线对称

        [0][1][3][6]

        [1][2][4][7]

        [3][4][5][8]

        [6][7][8][9]

        参考上三角\下三角进行压缩

        对角矩阵(带状矩阵):

                沿左上-右下对角线两边有数据

        [0][1][ ][ ]

        [2][3][4][ ]

        [ ][5][6][7]

        [ ][ ][8][9]

        压缩方法:使用一维数组压缩

        一维数组长度:3n-2

        下标的对应关系:2*i+j

        要求:abs(i-j)<=1时 才有有效数据,才进行压缩

    稀疏矩阵:

        有效数据不多且位置无规律,绝大多数位置都是无效数据不需要表示使用的,但是数量没有具体标准,全凭感觉

        压缩方式:使用三元组来进行压缩

        三元组:有三个数据项:

            行、列、值

            构成一个整体,该整体既可以顺序存储也可以链式存储

        优点:节约存储空间

        缺点:矩阵是具备随机访问的功能,但是压缩成三元组后失去了随机访问的效果,只能遍历查找某行某列的数据

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值