数组、特殊矩阵与广义表的数据结构

需积分: 50 1 下载量 197 浏览量 更新于2024-08-20 收藏 1.6MB PPT 举报
对称矩阵-第5章 数组与广义表 在计算机科学中,对称矩阵是一种特殊类型的方阵,它在科学计算、图像处理、机器学习等领域中应用广泛。本章节将详细介绍对称矩阵的定义、存储方式以及数组和广义表的概念。 一、数组的定义及使用 数组是一种基本数据结构,它是由n(n>1)个相同类型数据元素a0,a1,…,an-1组成的有限序列,且该有限序列存储在一块地址连续的内存单元中。数组的数据元素具有相同的数据类型,可以根据给定的下标直接访问对应的数组元素。 数组的特点: * 数组中的数据元素具有相同的数据类型。 * 数组元素的位置:Loc(ai)=Loc(a0)+i*k,其中k为每个数据元素占用的存储单元数。 * 数组是一种随机存储结构,可以根据给定的一组下标直接访问对应的数组元素。 二维数组可以将其转化为一维数组来考虑,每个元素是一个一维数组。二维数组元素在计算机中的位置有行主序和列主序两种方式。 * 行主序:Loc(aij)=Loc(a00)+(i×n+j)×k,其中k为每个数据元素占用的存储单元数。 * 列主序:Loc(aij)=Loc(a00)+(j×n+i)×k,其中k为每个数据元素占用的存储单元数。 二、特殊矩阵的压缩存储 在实际应用中,矩阵中往往存在许多值相同的元素或许多零元素,且分布有一定的规律的矩阵-特殊矩阵。特殊矩阵的压缩存储可以节约存储空间,提高计算效率。 * 对称矩阵:在一个n阶方阵A中,若所有元素满足下述性质:aij=aji,0≤i,j≤n-1。对称矩阵可以存储矩阵中上三角或下三角中的元素,存储到n(n+1)/2个元素的空间中,节约近一半的存储空间。 对称矩阵的存储方式: * 假定按“行优先顺序”存储主对角线(包括对角线)以下的元素。 * aij和sa[k]有对应关系,其中k为每个数据元素占用的存储单元数。 对称矩阵的压缩存储可以节约存储空间,提高计算效率。同时,对称矩阵也可以应用于科学计算、图像处理、机器学习等领域。 三、广义表的定义及使用 广义表是一种高级数据结构,它可以存储复杂的数据结构,例如树形结构、图形结构等。广义表的定义及使用将在下一章节中详细介绍。 小结: 本章节主要介绍了数组的定义及使用、特殊矩阵的压缩存储,包括对称矩阵的定义、存储方式等内容。这些概念和技术在计算机科学中应用广泛,希望读者通过本章节的学习能够更好地理解和掌握这些概念和技术。