当前位置: 代码迷 >> Java相关 >> 高手来!帮我编下这条题目?
  详细解决方案

高手来!帮我编下这条题目?

热度:25   发布时间:2009-11-04 13:04:06.0
高手来!帮我编下这条题目?
试为普通矩阵、三角矩阵、对角矩阵和稀疏矩阵设计一个类层次结构,其中三角矩阵、对角矩阵和稀疏矩阵应采用
相应的压缩形式储存。这个题目该如何对各类进行抽象?如何利用多态?
搜索更多相关的解决方案: 矩阵  设计  如何  

----------------解决方案--------------------------------------------------------
高手呢..
----------------解决方案--------------------------------------------------------
不懂~~~~~一般矩阵我都用的二维数组存,不知道楼主哪来的创意要用类来存,还要求多态?
----------------解决方案--------------------------------------------------------
我思想是先抽象个普通矩阵类,用二维数组,再加个抽象储存方法,然后其他矩阵分别继承!爷爷-爸爸-儿子这种结构..
但是我写了写不出,对这些矩阵概念不是很懂
----------------解决方案--------------------------------------------------------
Hi,我想你可以这样设计类继承关系:
            
                抽象矩阵类
                ㄊ      ㄉ
        普通矩阵类       稀疏矩阵类
        ㄊ     ㄉ
三角矩阵类 ... 对角矩阵类

至于三角矩阵,对角矩阵和稀疏矩阵的压缩存储,数据结构里有介绍。
----------------解决方案--------------------------------------------------------
原来LZ是这个意思啊,我还以为你不是用的二维数组标识矩阵呢

楼上的分类很正确,但是给个建议(偶是数学系毕业滴):
严格说来,稀疏阵最好不要用二维数组存,因为稀疏阵非零元很少(其他的一般用二维数组也可以,不会太浪费空间)
用二维数组存比较浪费空间,可以用三元数组法来存

例如,矩阵A:            可以用三元组表示为:  3   4   4

5   0   0   7                                  1   1   5

0   1   0   0                                  1   4   7

1   0   0   4                                  2   2   1
   
                                               3   1   1

                                       
稀疏矩阵A可以用数组   A[5][3]={{3,4,4},{1,1,5},{1,4,7},{2,2,1},{3,1,1}} 来表示

                                       




[ 本帖最后由 windizual 于 2009-11-8 02:39 编辑 ]
----------------解决方案--------------------------------------------------------
  相关解决方案