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