3、画出以下稀疏矩阵C(5*6)非零元素三元组行的单链表和十字链表存储结构。 0 0 32 0 0 15 0 0 0 0 0 0 C56 59 0 86 0 0 43 0 0 0 0 0 0 18 0 65 0 0 0
时间: 2024-01-02 22:02:12 浏览: 67
以下是稀疏矩阵C的非零元素三元组行的单链表存储结构:
```
(1, 3, 32) -> (1, 6, 15) -> (2, 1, 59) -> (2, 3, 86) -> (2, 7, 43) -> (3, 3, 18) -> (3, 6, 65)
```
以下是稀疏矩阵C的非零元素三元组行的十字链表存储结构:
```
[0, 0, 32]---->[0, 0, 0]---->[0, 0, 15]---->NULL
^ ^ ^
| | |
[0, 0, 0] | |
^ | |
| | |
[0, 0, 0] | |
^ | |
| v v
NULL<----[1, 3, 32]<-[1, 6, 15] NULL
^
|
[2, 3, 86]---->[2, 7, 43]---->NULL
^ ^
| |
NULL<----[3, 3, 18]<-[3, 6, 65] NULL
```
其中,第一列的头节点为 `[0, 0, 0]`,第二列的头节点为 `[0, 0, 0]`,第三列的头节点为 `[0, 0, 0]`,第四列的头节点为 NULL,第五列的头节点为 NULL,第六列的头节点为 NULL,第七列的头节点为 `[0, 0, 0]`。每个非零元素的三个值分别表示行下标、列下标和元素值。在十字链表中,每个节点有四个指针,分别指向同行下一个节点、同列下一个节点、同行下一个非零节点和同列下一个非零节点。
阅读全文