永发信息网

带行表的三元组表表示稀疏矩阵

答案:3  悬赏:0  手机版
解决时间 2021-04-02 18:31
  • 提问者网友:遮云壑
  • 2021-04-02 02:57
带行表的三元组表表示稀疏矩阵
最佳答案
  • 五星知识达人网友:長槍戰八方
  • 2021-04-02 03:07
在行优先存储的三元组表中,加入一个行表来记录稀疏矩阵压缩后每行非零元在三元组表中的起始位置。

难道是a? 02335->02102

不好意思,我也不太清楚。
全部回答
  • 1楼网友:你哪知我潦倒为你
  • 2021-04-02 04:30
答案应该选A
带行表的三元组表
 为了方便某些矩阵运算,在按行优先存储的三元组表中,加入一个行表来记录稀疏矩阵中每行的非零元素在三元组表中的起始位置。这就是带行表的三元组表。
(1)类型描述
#define MaxRow l00 //在三元组表定义前加入此最大行定义
typedef struct {
TriTupleNode data[MaxSize];
int RowTab[MaxRow];//行表,应保证m≤MaxRow
int m,n,t;
}RTriTupleTable;
(2)带行表的三元组表的操作
① 对于任给行号i(0≤i≤m-1),能迅速地确定该行的第一个非零元在三元组表中的存储位置为RowTab[i]
② RowTab[i](0≤i≤m-1)表示第i行之前的所有行的非零元数。
③ 第i行上的非零元数目为RowTab[i+1]-RowTab[i](0≤i≤m-2)
④ 最后一行(即第m-l行)的非零元数目为t-RowTab[m-1](t为矩阵的非零元总数)
注意:
 若在行表中令RowTab[m]=t(要求MaxRow>m)会更方便 些,且t可省略。
 带行表的三元组表可改进矩阵的转置算法,具体【参阅其它参考书】。
A选项的行表表示为 02335
B选项的行表表示为 02355
C选项的行表表示为 02235
D选项的行表表示为 02235
  • 2楼网友:詩光轨車
  • 2021-04-02 04:23
这么久了还来解答确实不好意思,我是自学数据结构的,在做试题的时候看到这一题,当时也不知道什么是带行表的三元组表,翻阅了书也没有详细的讲解,查看了很多网站也只有一些笼统的解答。所以现在把自己的解题思路写一写,让自学的朋友也能看到吧。
墨乁迹的解答是正确的,当中最重要的一条信息是:② RowTab[i](0≤i≤m-1)表示第i行之前的所有行的非零元数。
A答案:
第一行( RowTab[0])由于是第一行,之前没有非零元素,所以对应为0;
第二行( RowTab[1])之前只有第一行,非零元素有两个,-8和6,所以对应为2;
第三行( RowTab[2])之前有第一、二行,非零元素有两个,-8、6和7,所以对应为3;
好了,说得那么明白,大家应该就懂了,四五行就自己写了,其实就是不用算最后一行的非零元素。答案就是02335。大家可以做做BCD的答案,和墨乁迹给出的答案一样。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯