-2
我想使用LinkedList做垂直稀疏矩陣。所以我的意思是,矩陣的行與LinkedList節點相互連接。並且每個行節點都包含該行和值的索引。我的結構像;垂直稀疏矩陣使用LinkedList C++
struct Node {
int index;
int *values;
}Node;
如何指定當前行包含值的數組。它的單一鏈表。
我想使用LinkedList做垂直稀疏矩陣。所以我的意思是,矩陣的行與LinkedList節點相互連接。並且每個行節點都包含該行和值的索引。我的結構像;垂直稀疏矩陣使用LinkedList C++
struct Node {
int index;
int *values;
}Node;
如何指定當前行包含值的數組。它的單一鏈表。
我認爲這不是實現矩陣的好方法,但如果你想嘗試一下,你可以用節點結構來實現。
struct node
{
int data; // data value at every node
int rowIndex; //index of row
struct node* next; // next pointer of each node
struct node* below; // will point to below row node
}
1 -> 2 -> 3 -> N
| | |
4 -> 5 -> 6 -> N
| | |
N N N
這不是一個回答你的問題,但作爲一個側面評論,我希望你知道這是關於[至少緩存友好(https://開頭計算器.com/questions/16699247/what-is-cache-friendly-code)存儲我能想到的稀疏矩陣的方法。任何使用這種矩陣的線性代數將是非常低效的。 – CoryKramer
我知道。但是有可能嗎?我應該如何構建? –