从根节点到解决状态的路径详细说明了解决拼图所需的滑动。
图 12-2:解决 15 拼图的任务可以表示为一个图,其中瓷砖状态为节点,滑动为边。...之前在图 12-1 的左侧显示的混乱瓷砖的板将被表示为以下内容:
[15, 2, 1, 12, 8, 5, 6, 11, 4, 9, 10, 7, 3, 14, 13, 0]
在图 12-1 的右侧,解决的有序拼图将被表示为...将滑动瓷砖拼图表示为数据
滑动瓷砖板的数据结构只是一个整数列表或数组。它代表实际拼图板的方式是程序中的函数如何使用它。...除了最简单的拼图之外,通常的笔记本电脑根本无法在合理的时间内解决太多的组合。然而,我喜欢 15 拼图作为递归练习,因为它将 DAGs 和 DFS 的理论思想与现实问题联系起来。...+1是为了一个小的必要调整:如果品红区域的右侧 x 坐标为 11,左侧为 10,宽度将为两个像素。