【问题标题】:The Data Structure of Knuth's Dancing Links AlgorithmKnuth 的 Dancing Links 算法的数据结构
【发布时间】:2012-07-26 20:39:18
【问题描述】:

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

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

我想知道的是如何将双链表精确地制成具有列和行的表?

据我所知,大多数双链表只有 2 个指针(上和下),这是否意味着我必须创建自己的自定义链表,它有 4 个指针(上、下、左和右) ?还是有其他方法?

提前致谢。

【问题讨论】:

    标签: algorithm data-structures linked-list knuth


    【解决方案1】:

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

    这个article on using dancing links to solve sudoku 有一张漂亮的照片。

    至少在本文的代码中,行确实表示为左右指针,列表示同一节点中的上下指针,或多或少如您所描述的那样,因此列表是相互关联的。

    【讨论】:

    • 仅供参考:您发布的链接现在已失效。
    猜你喜欢
    • 1970-01-01
    • 2017-02-17
    • 2015-08-13
    • 2015-05-09
    • 2010-09-21
    • 2014-02-21
    • 2015-09-02
    • 1970-01-01
    • 2020-12-07
    相关资源
    最近更新 更多