数组与结构,规格说明

  这一章里面,不仅讲了数组,还讨论了结构与公用体,多项式,稀疏矩阵,字符串。这些和数组有什么关系?为什么放到同一章里面?放到同一章里面说明,他们之间必定有关系。

  规格说明:

  指的是一段对数据结构的数学描述。

  例如:下面是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

  

posted @ 2015-03-22 17:48  william编程  阅读(122)  评论(0编辑  收藏  举报