回溯法N皇后
用 d[i]=k 表示第 i 个皇后放在第 k 个位置上,
然后从第1个皇后,第1个位置开始,每次放置前先调用 check() 函数判断与其他皇后是否冲突
如果不冲突则放置
如果冲突则移至下一个位置,如果位置到了最后一个,则不放,且将上一次放置的皇后移至下一个位置,递归调用。
直至放置完毕所有皇后(flag=true) 或者 所有位置遍历结束。
回溯法N皇后
用 d[i]=k 表示第 i 个皇后放在第 k 个位置上,
然后从第1个皇后,第1个位置开始,每次放置前先调用 check() 函数判断与其他皇后是否冲突
如果不冲突则放置
如果冲突则移至下一个位置,如果位置到了最后一个,则不放,且将上一次放置的皇后移至下一个位置,递归调用。
直至放置完毕所有皇后(flag=true) 或者 所有位置遍历结束。
本文标题:算法简答
本文链接:https://www.haomeiwen.com/subject/ivbiultx.html
网友评论