zoukankan      html  css  js  c++  java
  • 数据结构之特殊矩阵

     特殊矩阵:即指非零元素或零元素的分布有一定规律的矩阵,为了节省存储空间, 我们可以对这类矩阵进行压缩存储;即为多个相同的非零元素只分配一个存储空间;对零元素不分配空间

    一、稀疏矩阵

    稀疏矩阵:设矩阵A中有s个非零元素,若s远远小于矩阵元素的总数,则称A为稀疏矩阵。

    如果我们把整个数据存入内存,如果每个单元格一个字节则需要6*5个字节

    我们要对稀疏矩阵进行压缩存储: 即只存储稀疏矩阵中的非零元素和矩阵的大小;采用三元组的表示方式

    例如:(6,5,30)矩阵大小、(0,3,34)、(1,1,1)、(1,3,3)、(1,4,59)、(2,0,23)、(2,2,12)、(3,1,45)、(3,3,51)、(3,4,46)、(4,2,34)、(5,0,78)、(5,2,56)、(5,4,2)

    稀疏矩阵占用空间大小:7*3个字节

    二、三角矩阵:上三角矩阵、下三角矩阵

    三角矩阵中的重复元素c(常量)可共享一个存储空间,其余的元素正好有n(n+1)/2个,因此,三角矩阵可压缩存储到向量s[0..n(n+1)/2]中,其中c存放在向量的最后一个分量中

    ================上三角矩阵=================

    以主对角线划分,三角矩阵有上三角和下三角两种。上三角矩阵,它的下三角(不包括主对角线)中的元素均为常数或者0,在大多数情况下,三角矩阵常数为零。

     该图就是一个上三角矩阵a(m,n)=a(4,4)是一个4阶的方阵,将该矩阵压缩存储到一维数组S后

    下标 0 1 2 3 4 5 6 7 8 9 10
    数据 1 2 3 4 6 7 8 11 12 16 0
    • 转换后一维数组的长度:S.length=1+n(n+1)/2
    • 最后一个位置:S[n(n+1)/2]=0
    • 其他上三角元素的位置在一维数组S的下标S[i(2n-i+1)/2+j-i ]=a(i,j) ;例如 a(2,3)=S[2*(2*4-2+1)/2+3-2]=S[8]=12

    ================下三角矩阵=================

    以主对角线划分,三角矩阵有上三角和下三角两种。下三角矩阵,它的上三角(不包括主对角线)中的元素均为常数或者0,在大多数情况下,三角矩阵常数为零。

      该图就是一个上三角矩阵a(m,n)=a(4,4)是一个4阶的方阵,将该矩阵压缩存储到一维数组S后

    下标 0 1 2 3 4 5 6 7 8 9 10
    数据 1 5 6 9 10 11 13 14 15 16 0
    • 转换后一维数组的长度:S.length=1+n(n+1)/2
    • 最后一个位置:S[n(n+1)/2]=0
    • 其他下三角元素的位置在一维数组S的下标S[i(i+1)/2+j]=a(i,j) ;例如 a(2,2)=S[2*(2+1)/2+2]=S[5]=11

     三、对称矩阵:

    结论:对称矩阵的压缩存储就是使用长度 array[n(n+1)/2-1] 的 一维数组存储对称矩阵

    1、下三角

    在一个n阶方阵A中,若元素满足下述性质:a(i,j) =a(j,i) 0≤i,j≤n-1 ,则称A为对称矩阵

    只要存储矩阵中上三角或者下三角中的元素,让每个对称的元素共享一个存储空间,这样能节省近一半的存储空间

    转换后一维数组的长度:S.length=n(n+1)/2
    最后一个位置:S[n(n+1)/2-1]
    其他下三角元素的位置在一维数组S的下标:S[i(i+1)/2+j]=a(i,j) ;例如 a(2,2)=S[2*(2+1)/2+2]=S[5]=4

    2、上三角

     其他上三角元素的位置在一维数组S的下标:S[i(2n-i+1)/2+j-i]=a(i,j) ;例如 a(2,2)=S[2*(2*6-2+1)/2+2-2]=S[11]=4

  • 相关阅读:
    gridview 数据绑定函数
    GridView详述
    gridview 数据绑定函数
    GridView详述
    c# windows服务
    "System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。系统找不到指定的文件。
    启动网站时,IIS发生意外错误0x8ffe2740
    访问 IIS 元数据库失败
    vs2010运行时提示:无法启动程序:http://......
    realplayer、wmp 网页内嵌代码
  • 原文地址:https://www.cnblogs.com/jalja365/p/12802183.html
Copyright © 2011-2022 走看看