数独问题流程图_数独求解算法

本文介绍了数独求解的规则、求解流程,并详细展示了数独算法的代码实现,包括初始化数据、获取可能解的过程,最后通过示例运行展示了算法的正确性。
摘要由CSDN通过智能技术生成

前言

周末两天,闲来无事,于是花了半天把自己很久就想研究的数独求解进行了算法实现。

初级玩法

首先看一下数独

屏幕快照 2018-03-25 下午6.30.52.png

数独规则

数独的规则比较简单:

每一行包括了1到9的数字,并且不能重复。

每一列包括了1到9的数字,并且不能重复。

每一组包括了1到9的数字,并且不能重复。

玩数独求解的流程

步骤一:从上到下,从左到右选择一个空单元。

步骤二: 根据这个单元所在的行、列、组,求出这个单元可能的解。

步骤三:随机抽取一个未论证的解作为单元的解进行填入,进行步骤一。

步骤四:如果步骤三中这个单元的所有未论证的解为空,则说明上一次随机填入有误。机型步骤五。

步骤五:退到上一个单元,将上一次随机填入解从未论证随机解中删除,进行步骤三。

步骤六:如果步骤二中这个单元的所有可能解为空,则说明上一次随机填入有误,进行步骤五。

步骤七:如果发现已经无法选择单元,即单元已经填满,说明完成解数独。

流程图:

shuduprocess.jpg

总体而言,整个过程是一个选择空单元,求合适解,选择未论证解,论证,论证之后再返回的过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值