如果我的问题听起来很愚蠢,我很抱歉,因为我对数据结构的理解不是很好。
我一直在读Knuth的Dancing Links算法,并且非常了解它的基本工作原理。有人提到,dancing link的数据结构可视化看起来像一个有列和行的表,每个单元格都连接到它们的上、下、左和右单元格。我也读过这个算法中使用了循环链表。
我想知道的是,如何将一个双链表制作成这样一个有列和行的表?
正如我所知,大多数双链表只有2个指针(上下),这是否意味着我必须制作自己的自定义链表,其中有4个指针(向上、向下、向左和向右)?或者还有其他方法?
提前谢谢。
该算法为每一行和每一列使用双链接列表,而不仅仅是一个列表。
这篇关于使用舞蹈链接解决数独的文章有一个很好的图片。
至少在本文的代码中,行实际上被表示为相同节点中的左指针和右指针,列被表示为上指针和下指针,正如您所描述的那样,所以列表是互连的。