五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

6.7遞歸-八皇后問題(回溯算法)

2021-12-12 12:19 作者:取悅疾風(fēng)  | 我要投稿

內(nèi)容來自尚硅谷Java數(shù)據(jù)結(jié)構(gòu)與java算法(Java數(shù)據(jù)結(jié)構(gòu)與算法)_嗶哩嗶哩_bilibili

寫在前面:本文內(nèi)容大致和原視頻內(nèi)老師的筆記內(nèi)容相同,會偶爾插入自己的注釋和理解,盡量會完成作業(yè)

6.7.1八皇后問題介紹

八皇后問題,是一個古老而著名的問題,是回溯算法的典型案例。該問題是國際西洋棋棋手馬克斯·貝瑟爾于1848年提出:在8*8格的國際象棋上擺放八個皇后,使其不能互相攻擊,即:任意兩個皇后都不能處于同一行、同一列或同一斜線上,問有多少種擺法(92)。

1.????? 第一個皇后先放第一行第一列

2.????? 第二個皇后放在第二行第一列、然后判斷是否OK,如果不OK,繼續(xù)放在第二列、第三列、依次把所有列都放完,找到一個合適

3.????? 繼續(xù)第三個皇后,還是第一列、第二列……直到第8個皇后也能放在一個不沖突的位置,算是找到了一個正確解

4.????? 當(dāng)?shù)玫揭粋€正確解時,在棧回退到上一個棧時,就會開始回溯,即將第一個皇后,放到第一列的所有正確解,全部得到.

5.????? 然后回頭繼續(xù)第一個皇后放第二列,后面繼續(xù)循環(huán)執(zhí)行1,2,3,4的步驟

6.????? 示意圖

說明:

理論上應(yīng)該創(chuàng)建一個二維數(shù)組來表示棋盤,但是實際上可以通過算法,用一個一維數(shù)組即可解決問題. arr[8]={0,4,7,5,2,6,1,3}//對應(yīng)arr下標(biāo)表示第幾行,即第幾個皇后,ar[i]=val , val 表示第i+1個皇后,放在第+1行的第val+1列

6.7.3八皇后問題算法代碼實現(xiàn)


6.7遞歸-八皇后問題(回溯算法)的評論 (共 條)

分享到微博請遵守國家法律
芦山县| 民丰县| 信宜市| 改则县| 财经| 定结县| 大兴区| 吉林市| 南城县| 历史| 阿克苏市| 焦作市| 安龙县| 平果县| 乐昌市| 宝丰县| 当涂县| 稷山县| 巴马| 普格县| 夏津县| 吉水县| 木兰县| 买车| 子洲县| 隆安县| 台州市| 安庆市| 新田县| 虎林市| 临夏市| 安溪县| 哈巴河县| 隆回县| 玉环县| 蓬莱市| 门源| 华容县| 景宁| 新干县| 蚌埠市|