数独-PSP表格


Github项目地址  

https://github.com/kkxkkx/Sudoku_self

PSP表格

PSP表格

PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)
Planning 计划 60 60
· Estimate · 估计这个任务需要多少时间 60 60
Development 开发 870 1710
· Analysis · 需求分析 (包括学习新技术) 120 120
· Design Spec · 生成设计文档 120 160
· Design Review · 设计复审 (和同事审核设计文档) 60 30
· Coding Standard · 代码规范 (为目前的开发制定合适的规范) 120 60
· Design · 具体设计 60 120
· Coding · 具体编码 240 500
· Code Review · 代码复审 30 120
· Test · 测试(自我测试,修改代码,提交修改) 120 600
Reporting 报告 150 240
· Test Report · 测试报告 60 120
· Size Measurement · 计算工作量 30 30
· Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 60 90
  合计 1080 2010


解题思路

 在最开始拿到题目的时候,想起上学期算法课程学过的回溯算法,决定用会回溯算法进行实现,所以翻看了算法设计的课本和ppt,对回溯算法重新进行了学习。在生成n个不同局面和求解给定数独的思路大致一致,但有在细节处的处理有些不同。首先是生成n个不同的局面,按行进行循环,有一个二维数组保存每个位置的可能数字,从可能数字中随机选一个放在该位置,若该位置找不到可能的位置,则回到上一个,修改上一个位置的解。不断进行回溯,直到所有的位置都合法。若是对给定局面进行求解,则将空白位置用数组记录下来,只对空白位置进行回溯即可。