在复习线性表时视频中突然碰到了一个多重链表的题,给我整懵逼了
通过查找资料,在自己的理解上写一下原因,首先,如图所示,该十字链表是矩阵A的链表表示
观察一下每一个列head和头head会发现:
- 行head(左边的一排head)的左边指针域未被利用,行head的右边指针域未被利用
- 左边指针域是指向同一列的数据元素循环,右边的指针域是指向同一行的数据元素
那么既然两者都各有所缺,且可以互相补充,
为了将空间充分利用起来(在一些数据十分庞大的情况下),
对于第i个head,我们可以利用它的左指针域来指向第i列的数据元素,用右指针域来指向第i行的数据元素
这样,这个题就解决啦~