铜仁市论坛

首页 » 分类 » 常识 » 数据结构对称矩阵和三角矩阵计算机4
TUhjnbcbe - 2021/8/29 19:06:00
泛发性白癜风 http://baidianfeng.39.net/a_zzzl/151203/4737937.html

数据结构的学习可以分为八个模块:1.绪论,2.线性表,3.栈和队列,4.串、数组,5.树与二叉树,6.图,7.查找,8.排序。

栈和队列部分可分为:

其中特殊矩阵部分有以下几个要点:

3对称矩阵

压缩存储∶指为多个值相同的元素只分配一个存储空间,对零元素不分配存储空间,其目的是节省存储空间。

特殊矩阵∶指具有许多相同矩阵元素或零元素,并且这些相同矩阵元素或零元素的分布有一定规律性的矩阵。常见的特殊矩阵有对称矩阵、上(下)三角矩阵、对角矩阵等。

特殊矩阵的压缩存储方法∶找出特殊矩阵中值相同的矩阵元素的分布规律,把那些呈现规律性分布的、值相同的多个矩阵元素压缩存储到一个存储空间中。

若对一个n阶方阵A[1...n][1...n]中的任意一个元素ai,j,都有:

ai,j=aj,i,(1≤i,j≤n)

则称其为对称矩阵。对于一个n阶方阵,其中的元素可以划分为3个部分,即上三角区、主对角线和下三角区。

对于n阶对称矩阵,上三角区的所有元素和下三角区的对应元素相同,若仍采用二维数组存放,则会浪费几乎一半的空间,为此将对称矩阵A[1...n][1...n]存放在一维数组B[n(n+1)/2]中,即元素ai,j只存放在bk中。只存放下三角部分(含主对角)的元素。

在数组B中,位于元素ai,j(i≥j)前面的元素个数为:

第1行∶1个元素(a1,1)。

第2行∶2个元素(a2,1,a2,2)。

......

第i-1行∶i-1个元素(ai-1,1,ai-1,2,…,ai-1,i-1)。

第i行∶j-1个元素(ai,1,ai,2,…,ai,j-1)。

因此,元素ai,j在数组B中的下标为:

k=1+2+…+(i-1)+j-1=i(i-1)/2+j-1(数组下标从0开始)。元素下标之间的对应关系如下∶

4三角矩阵

下三角矩阵中,上三角区的所有元素均为同一常量。其存储思想与对称矩阵类似,不同之处在于存储完下三角区和主对角线上的元素之后,紧接着存储对角线上方的常量一次,故可以将下三角矩阵A[1...n][1...n]压缩存储在B[n(n+1)/2]中。

元素下标之间的对应关系为:

下三角矩阵在内存中的压缩存储形式:

上三角矩阵中,下三角区的所有元素均为同一常量。只需存储主对角线、上三角区上的元素和下三角区的常量一次,可将其压缩存储在B[n(n+1)/2]中。

在数组B中,位于元素ai,j(i≤j)前面的元素个数为

第1行∶n个元素

第2行∶n-1个元素

......

第i-1行∶n-i+2个元素

第i行∶j-i个元素

因此,元素ai,j在数组B中的下标k=n+(n-1)+…+(n-i+2)+9j-i+1)-1=(i-1)(2n-i+2)/2+(j-i)。

因此,元素下标之间的对应关系如下:

上三角矩阵在内存中的压缩存储形式:

本文章已加入菜单栏导航,可在“课程学习-数据结构”处查看。

扫码
1
查看完整版本: 数据结构对称矩阵和三角矩阵计算机4