多重链表表示矩阵中,为什么可以说第i行的head和第i列的head实际上是同一个结点?

最近在复习数据结构与算法,准备好好看看这块的内容,看网课,老师的ppt中有个题目是这个。在网上查了答案,也有自己的点理解:

 

多重链表表示矩阵中,为什么可以说第i行的head和第i列的head实际上是同一个结点?

是这样的,我们假设每个Head节点的Down域是左面的,Right是右面的,当然中间的叫MId。

这是我们会发现在每一个Head行节点的Right总是指向每一行的Term节点,这个时候Down没有利用。

同理,每一个Head列节点总是指向每一列的Term节点,这时候RIght域没有使用。

所以说我们可以利用这些没有使用的资源,整合起来重新利用,所以

第i行的head和第i列的head实际上是同一个结点

这样做的话,可以形成一个回路。用一个头指针就可以拿到多重链表。

 

哈哈

 

 

2019年3月10日12:24:54

Lucien