数组与结构,规格说明
这一章里面,不仅讲了数组,还讨论了结构与公用体,多项式,稀疏矩阵,字符串。这些和数组有什么关系?为什么放到同一章里面?放到同一章里面说明,他们之间必定有关系。
规格说明:
指的是一段对数据结构的数学描述。
例如:下面是ADT矩阵的规格说明
structure Sparse_Matrix 是
objects:一个三元组<row,column,value>的集合,其中row和column为整型值,他们形成特定的组合关系,value属于集合item。
functions:
对所有的a,b属于Sparse_Matrix,x属于item,i,j,max_col,max_row属于index
Sparse_Matrix Create(max_row,max_col)::=return 一个容纳max_items=max_rowXmax_col的Sparse_Matrix,其行的最大值为max_row,列的最大值为max_col
Sparse_Matrix Transpose(a) ::=return 一个矩阵,该矩阵由交换a的每一个三元组的行和列的值得到
Sparse_Matrix Add(a,b) ::=if(a和b的维度相等) return一个将a和b的对应项(row值和column值均相等的项)相加后的矩阵
else return 出错
Sparse_Matrix Multiply(a,b) ::=if(a的列数=b的行数)
return a与b相乘的矩阵d,计算公式为:d[i][j]=求和(a[i][k]*b[k][j]),其中d(i,j)是第(i,j)个元素
else return 出错
end Sparse_Matrix