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