数组
简介
数组可以看成是线性表的推广,其特点是结构中的元素本身可以是具有某种数据结构的数据,但属于同一数据类型。
数组一般不做插入或者删除操作,所以采用顺序存储表示数组比较合适。
数组的顺序存储
在Java和C语言中,用的都是以行序为主序的存储结构,而在FORTRAN语言中,用的都是以列序为主序的存储结构。
特殊矩阵的压缩存储
所谓压缩存储,是指为多个值相同的元素只分配一个存储空间,对零元不分配空间。
假设值相同的元素或者零元素在矩阵中的分布有一定规律,则称此类矩阵为特殊矩阵。
特殊矩阵主要包括对称矩阵、三角矩阵、对角矩阵等。
- 对称矩阵
n阶对称矩阵满足:
a i j = a j i 1 ≤ i , j ≤ n a_{ij}=a_{ji} \ 1 \le i,j \le n aij=aji 1≤i,j≤n
为每一对对称元分配一个存储空间,可将n^2个元压缩存储到n(n+1)/2个元的空间中。
- 三角矩阵
三角矩阵分为上三角和下三角矩阵两种。主对角线以上的称为上三角矩阵,主对角线以下的称为下三角矩阵。
- 对角矩阵
对角矩阵所有的非零元素都集中在以主对角线为中心的带状区域中,即除了主对角线上和直接在对角线上、下方若干条对角线上的元素之外,其他元素均为0。
- 稀疏矩阵
非零元素较零元素少,且分布没有一定规律,称为稀疏矩阵。