我正在实现一种回溯算法来解决数独难题,并且需要对算法进行实证分析。但是,我发现难以理解此回溯算法解决数独难题的时间复杂性。 数独板是一个9 x 9的网格,因此每个空格都可以取1-9的值,但它首先检查row,column,3x3框以确保这样做安全,并且有m个空格。 我逐行遍历网格以寻找空白,然后遍历数字1-9,检查可以安全放置的数字。如果该数字是安全的,则将其放在此处,然后再次调用我的函数(重复)以检查下一个空格,依此类推。如果没有解决方案,则该算法会回溯,然后将下一个数字放在该空间中,然后重试。
我将需要生成将成为回溯算法最佳/最差时间复杂度的网格。因此,要做到这一点,我需要了解实现的回溯算法的时间复杂性。 如果有人可以帮助我解释一下它的时间复杂性,以及如何为数独回溯计算最佳/最坏情况,或者任何人都可以将我与合适的文档联系在一起,那将是非常感谢。
先谢谢您了:)