高德纳跳舞链接算法的数据结构



如果我的问题听起来很愚蠢,我很抱歉,因为我对数据结构的理解不是很好。

我一直在读Knuth的Dancing Links算法,并且非常了解它的基本工作原理。有人提到,dancing link的数据结构可视化看起来像一个有列和行的表,每个单元格都连接到它们的上、下、左和右单元格。我也读过这个算法中使用了循环链表。

我想知道的是,如何将一个双链表制作成这样一个有列和行的表?

正如我所知,大多数双链表只有2个指针(上下),这是否意味着我必须制作自己的自定义链表,其中有4个指针(向上、向下、向左和向右)?或者还有其他方法?

提前谢谢。

该算法为每一行和每一列使用双链接列表,而不仅仅是一个列表。

这篇关于使用舞蹈链接解决数独的文章有一个很好的图片。

至少在本文的代码中,行实际上被表示为相同节点中的左指针和右指针,列被表示为上指针和下指针,正如您所描述的那样,所以列表是互连的。

相关内容

  • 没有找到相关文章

最新更新