什么是“正交链表”?

时间:2011-02-28 16:29:33

标签: c++ linked-list orthogonal

我理解链接列表是什么,但我的问题是什么是正交链表?我在网上搜索但找不到任何有用的信息。我正在学习C ++中的喜欢列表,如果有任何与链表相关的好书,请提及它们。

2 个答案:

答案 0 :(得分:11)

这不是一个非常常见的术语,但根据the Dictionary of Computing,它是一个多维链表,其元素可以指向每个维度中的邻居。

采用简单的矩阵:

1 2 3 
4 5 6
7 8 9

然后,元素5将指向4和6,但也指向2和8。

以下问题可能对C ++书籍有所帮助:

答案 1 :(得分:0)

正交链表是行列表和列列表的组合。 因此,您可以使用它来表示2D数组(因为它还具有行和列)

在计算机科学中,通常使用它来表示稀疏矩阵,从而降低大矩阵乘法的复杂度。

第一个链表由非零行组成,每个节点都指向其右侧和底部的非零元素。

typedef struct Orthogonal_linked_list_node
{
    float some_data;
    int row;
    int column;
    struct _matrix_element *next_row;
    struct _matrix_element *next_column;
}matrixNode;

You can understand better from this image