回溯算法之 N皇后问题
注意到上面程序中判断第i列是否能放当前cur行的皇后的效率比较低,可以改进。
用一个全局变量vis[2][ ] 来保存某列、某主对角线、某副对角线已经被皇后占用。
这样就可以直接判断第i行是否可以放当前的皇后了。
第一次写这个程序时将循环计数变量i,j误设置为全局变量,导致程序运行结果不正确。这是一个递归程序,i,j应该为局部变量,才不会导致进一步递归时程序破坏上一次递归栈的局部数据!!
参考文献:《算法竞赛入门经典》 刘汝佳 编著
本博客的内容如果没有标注转载字样,均属个人原创!欢迎学习交流,如果觉得有价值,欢迎转载,转载请注明出处,谢谢!
邮箱:haifenglinying#yahoo.cn (#->@)
个人主页:www.hazirguo.com