sudoku-dancing-links

时间:2024-05-07 00:56:11
【文件属性】:

文件名称:sudoku-dancing-links

文件大小:22KB

文件格式:ZIP

更新时间:2024-05-07 00:56:11

Python

跳舞链接(DLX)-解决数独 DLX算法对9x9 Sudoku拼图的Pythonic实现。 通过将Donald Knuth的DLX算法中概述的while循环包装在Python __iter__()函数中,可以实现圆形双向链表上所有方向的迭代,如下所示: for node in storage_object . iter ( direction : Direction ): ... 这种抽象极大地提高了算法的可读性,尤其是在。 可以在大约0.17秒内解决发现的60个难度不同的测试难题。 背景 当决定为我的数独求解器采用哪种算法时,算法的效率是我的首要任务。 在研究了各种算法之后,我发现了各种算法,它们具有不同的时间复杂度。 一种方法涉及标准深度优先搜索算法,该算法的时间复杂度为O(n ^ 2),其中n既是方格的大小,又是单元格可以容纳的可能数的数量。 由于该方法被覆盖在单元材


【文件预览】:
sudoku-dancing-links-master
----storage_object()
--------storage_object.py(3KB)
--------data_object.py(2KB)
--------column_object.py(1KB)
--------__init__.py(129B)
----constraint.py(1KB)
----puzzle_saver.py(2KB)
----data()
--------impossible_solution.npy(452B)
--------hard_solution.npy(10KB)
--------very_easy_puzzle.npy(1KB)
--------medium_puzzle.npy(1KB)
--------medium_solution.npy(10KB)
--------very_easy_solution.npy(1KB)
--------easy_solution.npy(10KB)
--------impossible_puzzle.npy(452B)
--------easy_puzzle.npy(1KB)
--------hard_puzzle.npy(1KB)
----test.py(0B)
----dlx.py(5KB)
----binary_matrix.py(2KB)
----.gitignore(2KB)
----README.md(11KB)

网友评论