项目地址:https://github.com/kddll/sodukugit
做业地址github
https://edu.cnblogs.com/campus/fzu/SoftwareEngineering2015/homework/859算法
项目需求编程
利用程序随机构造出N个已解答的数独棋盘 。
编程语言:C++
编程IDE:推荐使用Visual Studio 2017
源代码管理平台:Github数组
解题思路:
刚开始作这道题的时候,彻底不知道该怎么下手,百度上大都使用回溯法来作,由于没什么思路,因此,我就用回溯法和随机排列的方法来解决,可是由于算法比较很差,因此目前只写出了一个解。
思路是:创建一个二维数组,肯定第一个数组的值,而后第一行利用随机排列,从第二行开始搜索符合条件的结果。搜索过程:写一个判断函数,参数为数组下标。1.i,j处是否能够存数据(下标大于9就不符合题目要求了)2.判断同一行,同一列,一个小的九宫格是否有出现相同的数字,若是有,则不能填入,没有就能够填入。数据结构
主要代码
编程语言
测试
函数
效能分析
设定n为200
主要时间仍是花费在查找正确解上!!
总结:
此次做业主要是在代码上话的时间比较多,由于本身代码能力比较弱,因此在百度上查找了许多代码,进行借鉴,数据结构学的很差,有一些代码还不怎么看的懂。关于此次实践,个人代码只能找出一个准确结果,往后有解决办法,会继续改进的!测试