#数独求解器 #csv #拼图 #拼图求解器 #算法 #路径 #回溯

bin+lib sudoku_solver_by_roy

用 Rust 编写的数独求解器

1 个不稳定版本

0.1.0 2023 年 10 月 27 日

719游戏

MIT 许可证

17KB
375

数独

一个简单的 Rust 编写数独求解回溯算法。

用法

cargo run --release -- "csv_path" 其中 csv_path 是包含数独谜题的 csv 文件的路径。例如

0,7,3,8,0,4,2,1,6
0,0,0,2,0,9,5,0,0
2,8,5,6,0,3,0,9,7
0,0,0,3,0,0,0,7,4
7,5,0,0,0,0,3,0,1
0,0,4,0,2,0,0,0,0
0,9,7,5,6,0,0,0,0
0,0,0,7,0,0,1,0,0
4,2,0,0,3,0,0,6,0

特性

1 - 栈只

所有数据结构都存在于栈上。不使用哈希表或哈希集(它们使用堆内存)。这是为了提高速度。

2 - 最小化克隆

在内存中修改单个棋盘,而不是在回溯期间写入和存储克隆的棋盘。

3 - csv 反序列化

可以使用 csv 文件来表示数独谜题。csv 文件必须是 9x9 的数字网格。空单元格由 0 表示。

4 - 美化打印

完成的数独谜题将被美化打印到终端。

5 - 错误处理

如果 csv 文件不是 9x9 的数字网格,程序将崩溃。如果谜题无法解决,它也会崩溃。它将打印有用的错误信息。

6 - 文档字符串

在代码中添加了一些文档字符串和示例!

依赖项

~2.4–3.5MB
~52K SLoC