题目
假设稀疏矩阵只存放其非0元素的行号、列号和数值,以一维数组顺次存放,以行号为-1作为结東标志。例如如下图所示的稀疏矩阵M:
则存在一维数组D中:
D[0]=1,D[1]=1,D[2]=1,D[3]=1,D[4]=5
D[5]=10,D[6]=3,D[7]=9,D[8]=5,D[9]=-1
现有两个如上方法存储的稀疏矩阵A和B,它们均为m行n列,分别存放在数组A和B中,编写求矩阵加法C=A+B的算法,C亦放在数组C中。
第1题
则存在一维数组D中:
现有两个如上方法存储的稀疏矩阵A和B,它们均为m行n列,分别存放在数组A和B中,编写求矩阵加法C=A+B的算法,C亦放在数组C中。
第2题
则存在一维数组D中:
D[0]=1,D[1]=1,D[2]=1,D[3]=1,D[4]=5
D[5]=10,D[6]=3,D[7]=9,D[8]=5,D[9]=-1
现有两个如上方法存储的稀疏矩阵A和B,它们均为m行n列,分别存放在数组A和B中,编写求矩阵加法C=A+B的算法,C亦放在数组C中。
第3题
稀疏矩阵相加。两个稀疏矩阵A和B采用十字链表方式存储,计算C=A+B,C采用十字链表方式存储。
算法分析:根据矩阵相加的法则,C中的非零元素cij只可能有3种情况:aij+bij,aij(bij=0),bij(aij=0)。因此,当B加到A上时,对A的十字链表来说,或者是改变结点的val域值aij+bij≠0,或者不变(bij=0),或者插入一个新结点(aij=0),还可能是删除一个结点(aij+bij=0)。整个运算可从矩阵的第一行逐步进行。对每一行都从行表头出发分别找到A和B在该行中的第一个非零元素结点后开始比较,然后按以下4种不同情况分别处理(假设pa和pb分别指向A和B的十字链表中行值相同的两个结点)。
第4题
用十字链表表示一个有K个非0元素的m×n的稀疏矩阵,则其总的结点数为(43)。
A./n
B./2
C.m+n
D.m+n+k
第9题
第10题
A.110
B.120
C.130
D.140
为了保护您的账号安全,请在“赏学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!