背景:
上着浙大的数据结构网课,在第二节中做了如题的一个题目,也看了其他大佬的一些解释。最后想通,故做一下记录帮助其他人。
定义的head节点结构
如上图所示,head节点含有三个成员,因此我们需要做到尽可能程度地去利用这三个成员。
多重链表图
从上图可以看到,在课件中的图片虽然容易理解,但是可以看出绿色画圈的地方都是空闲着的。而通过紫色的圈又可以明白其实第i行的head和第i列的head是连向同一个term节点(虽然第三个不是直接相连,但是也等同于直接相连),而在循环回去时,也都会经过该head。
因此我们可以直接使i行的head和i列的head直接合并,用down和right去指向term节点。而next指向下一个head节点即可。