第三章 稀疏矩阵.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章 稀疏矩阵

第三章 稀疏矩阵 . 第三章 稀疏距阵和广义表2008-02-02 10:01习 题 三 一、单选题 1.在稀疏矩阵的带行指针指向量的链接存储中,每个行单链表中的结点都具有相同的 A 。 A 行号 B 列号 C 元素值 D 地址 2.设一个具有t个非零元素的m*n大小的稀疏矩阵采用顺序存储,求其转置矩阵的普通 转置算法的时间复杂度为 D 。 A O(m) B O(n) C O(n+t) D O(n*t) 3.设一个广义表中结点的个数为n,则求广义表深度算法的时间复杂度为 B。 A O(1) B O(n) C O(n2) D O(log2n) 二、填空题 1.在一个稀疏矩阵中,每个非零元素所对应的三元组包括该元素的 行号 、 列号 、和 元素值 。 2.在稀疏矩阵所对应的三元组线性表中,每个三元组元素按 行号 为主序、 列号 为辅 助的次序排列。 3.在初始化一个稀疏矩阵的函数定义中,矩阵形参应说明为 引用 参数。 4.在稀疏矩阵的顺序存储中,利用一个数组来存储非零元素,该数组的长度应 大于 等于 对应的三元线性表的长度。 5.在稀疏矩阵的带行指针向量的链接存储中,每个结点包含有 4 个域,在相应的 十字链接存储中,每个结点包含有 5 个域。 6.在稀疏矩阵的十字链接存储中,每个结点的down指针域指向 行号 相同的下一个结点, right指针指向 列号 相同的下一个结点。 7.一个广义表中的元素为 单 元素和 表 元素两类。 8.一个广义表的深度等于 括号 嵌套的最大层数。 9.在广义表的存储结构中,每个结点均包含有 3 个域。 10.在广义表的存储结构中,单元素结点与表元素结点有一个域对应不同,各自分别为 值 域和 子表指针域 。 11.若把整个广义表也看为一个表结点,则该结点的tag域的值为 true或1 、next域的值 为 NULL或0 。 三、普通题 1.已知一个稀疏矩阵如下图所示: 0 4 0 0 0 0 0 0 0 0 -3 0 0 1 8 0 0 0 0 0 0 0 0 0 5 0 0 0 0 -7 0 0 0 2 0 0 0 0 6 0 0 0 图3-1 具有6行×7列的一个稀疏矩阵 ⑴写出它的三元组线性表; 解:((1,2,4),(2,4,-3),(2,7,1),(3,1,8),(4,4,5),(5,,2,-7),(5,6,2),(6,4,6)) ??给出它的顺序存储表示; 解: 下标 1 2 3 4 5 6 7 8 ... MaxTerms row(行号) 1 2 2 3 4 5 5 6 col(列号) 2 4 7 1 4 2 6 4 val(元素值) 4 -3 1 8 5 -7 2 6 ⑶给出它的转置矩阵的三元组线性表和顺序存储表示; 解:((1,3,8),(2,1,4),(2,5,-7),(4,2,-3),(4,4,5),(4,6,6),(6,5,2),(7,2,1)) ⑷给出对它进行快速转置时,num向量中各分量的值; ⑸给出对它进行快速转置前和转置后,pot向量中各分量的值。 解: Col 1 2 3 4 5 6 7 Num[col] 1 2 0 3 0 1 1 pot[col](前) 1 2 4 4 7 7 8 pot[col](后) 2 4 4 7 7 8 9 2.采用顺序存储方式实现稀疏矩阵M1和M2相加的运算,运算结果由变量M返回。 解: void Add(SMatrix M1,SMatrix M2,SMatrix M) //采用顺序存储方式实现稀疏矩阵M1和M2相加的运算,运算结果由变量M返回 { InitMatrix(M); //若两个矩阵尺寸不同,则给出错误信息并停止运行 if ((M1.m!=M2.m)||(M1.n!=M2.n)){ cerrtow matrix measurenents are different!end1; exit(1); } M.m=M1.m;M.n=M1.n; //若两个矩阵均为零矩阵,则无须计算

文档评论(0)

sy78219 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档