高手来!帮我编下这条题目?
试为普通矩阵、三角矩阵、对角矩阵和稀疏矩阵设计一个类层次结构,其中三角矩阵、对角矩阵和稀疏矩阵应采用相应的压缩形式储存。这个题目该如何对各类进行抽象?如何利用多态?
----------------解决方案--------------------------------------------------------
高手呢..
----------------解决方案--------------------------------------------------------
不懂~~~~~一般矩阵我都用的二维数组存,不知道楼主哪来的创意要用类来存,还要求多态?
----------------解决方案--------------------------------------------------------
我思想是先抽象个普通矩阵类,用二维数组,再加个抽象储存方法,然后其他矩阵分别继承!爷爷-爸爸-儿子这种结构..
但是我写了写不出,对这些矩阵概念不是很懂
----------------解决方案--------------------------------------------------------
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 编辑 ]
----------------解决方案--------------------------------------------------------