回溯法以及迷宮問(wèn)題

概念

什么是回溯法?

回溯法的基本思想:對(duì)一個(gè)包括有很多結(jié)點(diǎn),每一個(gè)結(jié)點(diǎn)有若干個(gè)搜索分支的問(wèn)題,把原問(wèn)題分解為對(duì)若干個(gè)子問(wèn)題求解的算法。

我們簡(jiǎn)單分析一下這句話,其實(shí)就是當(dāng)搜索到某個(gè)結(jié)點(diǎn),發(fā)現(xiàn)無(wú)法再繼續(xù)搜索下去的時(shí)候,就讓搜索過(guò)程回溯(也稱(chēng)退回)到該結(jié)點(diǎn)的上一個(gè)結(jié)點(diǎn),繼續(xù)搜索這個(gè)結(jié)點(diǎn)的其他尚未搜索過(guò)的分支,然后一遍一遍重復(fù)這個(gè)步驟,直到搜索到問(wèn)題的解或搜索完了全部可搜索分支沒(méi)有解存在為止。

迷宮問(wèn)題

說(shuō)到回溯法,就不得不說(shuō)使用回溯思想最經(jīng)典的一個(gè)問(wèn)題:迷宮問(wèn)題。

我們規(guī)定:2 為墻壁 0為道路 由圖可見(jiàn),我們有4種不同的通路。?

我們?cè)O(shè)置入口為(1,1)出口為(7,7)

①. 我們?cè)谥鞣椒ɡ锵瘸跏蓟粋€(gè)迷宮,用二維數(shù)組來(lái)實(shí)現(xiàn)。

②. 我們定義四個(gè)成員變量,并且設(shè)置入口出口坐標(biāo)

③. 實(shí)現(xiàn)我們迷宮通路的算法,在尋找下一個(gè)通路點(diǎn)時(shí),我們就用到了回溯的思想。

完整的實(shí)現(xiàn)代碼!

總結(jié)

多練還是最好的途徑,迷宮是一個(gè)很典型的問(wèn)題,大家一定要多多理解其中的思路!

下一講我們就要介紹樹(shù)的相關(guān)知識(shí)啦 :)

PS:有什么問(wèn)題或者不解的地方可以評(píng)論,我都會(huì)一一就行回復(fù)的,如果有錯(cuò)誤或者言語(yǔ)不明的地方,還請(qǐng)大神多多指點(diǎn)!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 回溯法與分支限界法 時(shí)間 2016-03-24 標(biāo)簽 搜索 回溯法 1、概念 回溯算法實(shí)際上一個(gè)類(lèi)似枚舉的搜索嘗...
    wangchuang2017閱讀 2,397評(píng)論 0 4
  • B樹(shù)的定義 一棵m階的B樹(shù)滿(mǎn)足下列條件: 樹(shù)中每個(gè)結(jié)點(diǎn)至多有m個(gè)孩子。 除根結(jié)點(diǎn)和葉子結(jié)點(diǎn)外,其它每個(gè)結(jié)點(diǎn)至少有m...
    文檔隨手記閱讀 13,703評(píng)論 0 25
  • 一. 算法之變,結(jié)構(gòu)為宗 計(jì)算機(jī)在很多情況下被應(yīng)用于檢索數(shù)據(jù),比如航空和鐵路運(yùn)輸業(yè)的航班信息和列車(chē)時(shí)刻表的查詢(xún),都...
    Leesper閱讀 7,406評(píng)論 13 42
  • 紀(jì)實(shí)生活 體悟人生 很久以前 就聽(tīng)聞新浪博客 是做得相當(dāng)不錯(cuò)的博客網(wǎng)站 早在2011年的時(shí)候 就開(kāi)始玩新浪博客了 ...
    木風(fēng)恒閱讀 381評(píng)論 0 1
  • 從一個(gè)地方到另一個(gè)地方 從意識(shí)清醒到逐漸模糊:搖搖晃晃 我們都不勝酒力,卻毫不吝嗇身體與時(shí)光 你訴說(shuō)著過(guò)往,像個(gè)滿(mǎn)...
    年少如初閱讀 225評(píng)論 0 2

友情鏈接更多精彩內(nèi)容