用链表表示稀疏矩阵

时间:2012-06-23 11:02:23

标签: c

正如我的大学老师所问,我在C中用多列表表示稀疏矩阵时遇到了很大麻烦。

Image

据我了解,有几种清单:

  • 主要包含指向下一行和列
  • 的指针
  • 一个用于列和行
  • 其中一个要素。

非常感谢任何有关如何实现这一点的帮助。

1 个答案:

答案 0 :(得分:2)

(我将解释如果你问的是什么,你怎么能代表画面)
从你的图片中我知道你有3种类型的节点和一些规则:

  • a)一个用于行数和列数(带有2个指针)
  • b)一个用于矩阵的大小(2个指针和witdh和 高度)
  • c)一个元素值不为零的元素(含2) 指针,colum值和元素的行值以及 元件)

规则:

  1. b)元素具有指向第一行元素和第一行元素的指针 列元素
  2. 每个行元素都有一个指向下一个行元素的指针(最后一个元素有一个指针 到b)元素)
  3. 每个colum元素都有一个指向下一个colum元素和最后一个colum元素的指针 有一个指向b)元素的指针
  4. 每行的第二个指针指向行上的第一个c)元素
  5. 每个列的第二个指针指向其上的第一个c)元素 式柱
  6. 每个元素指向:行上的下一个c)元素和列上的下一个c)元素(如果行上没有下一个元素,则只指向行元素,如果没有下一个元素该列只指向列元素)
  7. 对于每条规则,如果你不能申请,只需跳过它并将指针留空 希望它有所帮助。
    您可以创建一些自定义linked lists 并只应用规则
    Here 你有一个简单的教程