Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)

Posted XusJournal

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)相关的知识,希望对你有一定的参考价值。

Xus

鍏虫敞

Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)

    鏃跺厜浼肩锛屾棩鏈堝姊€傝浆鐪奸棿鎴戜竴骞撮兘娌℃湁鍙戞帹鏂囦簡馃槹銆傝繖涓€骞寸敱浜庣绉嶅師鍥犳病鎶婃墍寰楃殑瓒d簨缁欏垎浜嚭鏉ワ紝褰掑拵璧锋潵缁堢┒杩樻槸鑷繁澶噿鍟


Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)

Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)

knowledge

娣卞害浼樺厛绠楁硶

Depth First Search

Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)

    娣卞害浼樺厛鎼滅储灞炰簬鍥剧畻娉曠殑涓€绉嶏紝鏄竴涓拡瀵瑰浘鍜屾爲鐨勯亶鍘嗙畻娉曪紝鑻辨枃缂╁啓涓篋FS鍗?span class="mq-67">Depth First Search銆?/span>

    娣卞害浼樺厛鎼滅储鏄浘璁轰腑鐨勭粡鍏哥畻娉曪紝鍒╃敤娣卞害浼樺厛鎼滅储绠楁硶鍙互浜х敓鐩爣鍥剧殑鐩稿簲鎷撴墤鎺掑簭琛紝鍒╃敤鎷撴墤鎺掑簭琛ㄥ彲浠ユ柟渚跨殑瑙e喅寰堝鐩稿叧鐨勫浘璁洪棶棰橈紝濡傛渶澶ц矾寰勯棶棰樼瓑绛夈€備竴鑸敤鍫嗘暟鎹粨鏋勬潵杈呭姪瀹炵幇DFS绠楁硶銆?/span>

    鍏惰繃绋嬬畝瑕佹潵璇存槸瀵?span class="mq-72">姣忎竴涓彲鑳界殑鍒嗘敮璺緞娣卞叆鍒颁笉鑳藉啀娣卞叆涓烘锛岃€屼笖姣忎釜鑺傜偣鍙兘璁块棶涓€娆°€?/span>

Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)

DFS鍩烘湰姝ラ

0 1

Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)

    瀵逛簬涓婇潰鐨勬爲鑰岃█锛孌FS鏂规硶棣栧厛浠庢牴鑺傜偣1寮€濮嬶紝鍏舵悳绱㈣妭鐐归『搴忔槸1,2,3,4,5,6,7,8锛堝亣瀹氬乏鍒嗘灊鍜屽彸鍒嗘灊涓紭鍏堥€夋嫨宸﹀垎鏋濓級銆?/strong>

0 2

Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)

浠巗tack涓闂爤椤剁殑鐐广€?/span>

0 3

Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)

    鎵惧嚭涓庢鐐归偦鎺ョ殑涓斿皻鏈亶鍘嗙殑鐐癸紝杩涜鏍囪锛岀劧鍚庢斁鍏tack涓紝渚濇杩涜銆?/strong>

0 4

Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)

Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)

    濡傛灉姝ょ偣娌℃湁灏氭湭閬嶅巻鐨勯偦鎺ョ偣锛屽垯灏嗘鐐逛粠stack涓脊鍑猴紝鍐嶆寜鐓ф楠わ紙3锛変緷娆¤繘琛屻€?/span>

0 5

Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)

Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)

    鐩村埌閬嶅巻瀹屾暣涓爲锛宻tack閲岀殑鍏冪礌閮藉皢寮瑰嚭锛屾渶鍚庢爤涓虹┖锛孌FS閬嶅巻瀹屾垚銆?/span>


Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)

Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)  涓€鑴告嚨閫?..
Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)

涓嶆噦鍚楋紵鍝柟闈笉澶ф噦锛?img data-ratio="1" src="/img?url=https://mmbiz.qpic.cn/mmbiz_jpg/XONiccW8J1fz7OJYw84QKQXl3icgepe0UHicUxn0EyE0JmkRgqAj3Tr7jnkvgPR59ktlOQrNJhJj7n6GG33xNpicCg/640?wx_fmt=jpeg" data-type="jpeg" data-w="400" height="109" width="109" _width="109px" class="mq-150" alt="Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)">

Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)

Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS) 鑳戒妇涓牀瀛愬槢锛熻繖鏍锋垨璁镐細濂界悊瑙d竴鐐圭偣...
Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)

Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)

Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)

Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)


Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)
渚嬮涓€


涓€
棰樼洰

    浠?nbsp; s  鍒?nbsp; t   .  鎰忓懗鐫€鍙互璧帮紝 *  鎰忓懗鐫€涓嶈兘璧帮紝濡傛灉鑳借蛋锛岃緭鍑鸿矾寰勶紝濡傛灉涓嶈兘璧帮紝杈撳嚭no銆?/span>

绋嬪簭杈撳叆
Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)
VS
杈撳嚭缁撴灉
Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)

鎴戜滑鏉ュ垎鏋?....

鎵撲綇锛?span class="mq-238">鎵撲綇锛?/strong>

鐜板湪鎴戜滑鑷繁鍏堟€濊€冨嚑鍒嗛挓...

Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)


浜?/strong>
瑙i鎬濊矾

    澶у鎯充竴鎯筹紝鎴戜滑鐪嬪埌鍦板浘鍚庝細濡備綍璧板憿锛?/strong>

Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)

    鏄笉鏄瘡璧颁竴浣嶏紝閮戒細鑰冭檻涓嬩竴涓綅缃殑涓娿€佷笅銆佸乏銆佸彸鏄惁鍙互閫氳(杈惧埌閫氳鏉′欢锛氭棤闅滅鐗┿€佹病鏈夎秴鍑鸿竟鐣屻€佹病鏈夎蛋杩?銆?/strong>

    浠e叆鍒扮▼搴忎腑锛屾垜浠啓鐨勭▼搴忓苟涓嶈兘閭d箞鏅鸿兘锛屼絾璁$畻鏈鸿绠楅蹇€?/strong>

    绋嬪簭涓紝鍒拌揪姣忎竴涓柊鐨勪綅缃悗閮戒細灏濊瘯涓婁笅宸﹀彸鏄惁鍏佽閫氳锛岃嫢涓婁笅宸﹀彸鍥涗釜鏂颁綅缃兘涓嶈兘閫氳锛屽垯浼氬洖閫€(鍥炴函)锛屽洖閫€鍒颁笂涓€涓綅缃紝涓婁竴涓綅缃彧鏄蛋浜嗘煇涓垎鏀紝鍙兘杩樺瓨鍦ㄥ叾浠栧垎鏀彲浠ヨ蛋锛岄偅灏辨帴鐫€鍏朵粬鍒嗘敮璧颁笅鍘伙紝灏濊瘯寰€鍓嶄綅缃殑鍙︿竴涓垎鏀蛋涓嬪幓锛屼竴鐩磋蛋璧拌蛋銆傘€傘€傜洿鍒版壘鍒扳€漈鈥濈偣涓烘銆?/strong>


Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)



涓?/strong>
浠g爜鍑嗗


    涓轰簡淇濆瓨鍦板浘鏁版嵁锛屾垜浠娇鐢ㄤ竴涓簩缁存暟缁勮繘琛屽湴鍥剧殑淇濆瓨锛?/strong>

Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)

     S_row 涓鸿緭鍏ョ殑琛屾暟锛孲_column涓鸿緭鍏ョ殑鍒楁暟


    鎴戜滑鍙互鍏堝啓涓€涓壘鍒扮粓鐐圭殑浠g爜锛?/strong>

Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)

    Print_Maps() 涓烘墦鍗板湴鍥剧殑鍑芥暟锛屾垜浠幇鍦ㄤ笉鎬ョ潃瀹炵幇


    鐒跺悗鏁翠綋鍐欎竴涓嚱鏁帮細

Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)

     褰㈠弬row锛宑olumn瀵瑰簲鐨勬槸闇€瑕佹鏌ョ殑琛屽彿浠ュ強鍒楀彿


    鍦ㄥ嚱鏁扮殑涓€寮€濮嬶紝鎴戜滑鍒ゆ柇鍦板浘涓細

MazeArray[row][column] 鏄惁涓虹粓鐐?/span>

Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)

闅剧偣锛?span class="mq-299">寰€鍥涗釜鏂瑰悜璧?鈫?鈫?鈫?鈫?/span>

Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)


    姝ゆ椂鎴戜滑鏈変簡涓嬩竴涓綅缃殑鍧愭爣(row_,column_)锛屾垜浠殑浠诲姟灏辨槸鍒ゆ柇杩欎釜鏂扮殑浣嶇疆鏄惁鍙互閫氳锛?/span>

Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)



    褰撴垜浠墍鏈夋潯浠堕兘鎴愮珛鍚庯紝杩涘叆鍒颁笅涓€浣嶇疆锛?span class="mq-313">鏍稿績锛夛細

Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)


    鏁翠綋浠g爜锛?/span>

Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)



Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)

鍏ㄦ帓鍒?DFS)

Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)

鍏ㄦ帓鍒?/span>

    渚嬪n = 3锛屽垯杈撳嚭(1 2 3)銆?1 3 2)銆?2 1 3)銆?2 3 1)銆?3 1 2)銆?3 2 1) 鍏鎯呭喌銆?/span>


涓轰簡甯ぇ瀹跺揩閫熺悊瑙e叏鎺掑垪

鎴戠敾浜嗕釜鍥句緥

锛堟瑺缂虹敾鐢诲ぉ璧嬸煒級

Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)


鏁寸悊涓€涓嬫垜浠殑鎬濊矾

    鎴戜滑鍙互鐢?span>DFS绠楁硶鍘昏В鍑烘棰橈紝濡傚悓涓婇潰杩峰棰樼洰涓€鑸€?/p>

    鎴戜滑鈥滄瘡鎶婄墝鏀剧疆鍒颁竴涓?span class="mq-352">鏂扮殑鐩掑瓙鍙互鐪嬩綔涓轰笂棰樹腑姣忓線涓嬫帰娴嬩竴姝?span class="mq-353">鈥?/span>



鍏堟斁缃簡  鐗?  鍒? 鐩掑瓙1 


寰€涓嬭蛋鍒?span class="mq-376">  鐩掑瓙2  杩欓噷

姝ゆ椂鎵嬩笂鏈?span class="mq-383">涓ゅ紶鐗?/span>

锛堟寜鐓ч『搴忥級鍏堟斁  鐗?  鍒?nbsp; 鐩掑瓙2 

鐜板湪  鐩掑瓙3  鍙湁  鐗?  鍙互鏀?/strong>

    姝ゆ椂  鐩掑瓙  鍏ㄩ儴琚斁婊★紝涓€绉嶇粍鍚堝畬姣?/span>锛岃緭鍑哄綋鍓嶇粍鍚?1 2 3)銆?/p>

    闅忓悗鎶?nbsp; 鐩掑瓙3  (鏈€鍚庢斁鐨勪綅缃? 鐨勭墝鏀跺洖锛岃瘯鐫€鏀惧叾浠栫墝锛屽彂鐜版病鏈夊叾浠栫墝(鍒嗘敮)浜嗭紝鍐嶅線鍓嶅洖鏀?nbsp; 鐩掑瓙2  鐨?nbsp; 鐗?  锛岀幇鍦紝鎵嬩笂鏈?nbsp; 鐗?  銆?span class="mq-406"> 鐗?  涓ゅ紶鐗?nbsp; 鐗?  杩樻湭鏀剧疆锛屽垯鍙互鎶?nbsp; 鐗?  鏀剧疆鍦?nbsp; 鐩掑瓙2  鐨勪綅缃紝涔嬪悗  鐩掑瓙3  灏卞彲浠ユ斁缃?nbsp; 鐗?  锛岃緭鍑虹粍鍚?1 3 2)锛屽悗闈互姝ょ被鎺ㄣ€傘€傘€?/p>

Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)

涓婁唬鐮亊

Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)

Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)

濂戒簡

鎴戝張鍙堝張姘翠簡涓€绡囨帹鏂囸煒?/p>

绗旇璁颁簡涓€澶у爢

浣嗘槸杩樻病鏈夌紪杈戝ソ鍙戠矖鏉ヰ煒?/p>

鎴戣拷姹傝川閲忚€屼笉鏄晥鐜?/p>

濂藉惂锛屽挶涔熸病璐ㄩ噺

Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)

馃檹绁濇垜鎻掓湰鎴愬姛涓婂哺馃檹

Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)
鎵弿浜岀淮鐮?
鍏虫敞鎴戝惂

以上是关于Xus | 绠楁硶涔嬫繁搴︿紭鍏堢畻娉?DFS)的主要内容,如果未能解决你的问题,请参考以下文章

銆岀畻娉曚笌鏁版嵁缁撴瀯銆嶅甫浣犵湅鍝堝笇绠楁硶涔嬬編

璇︾粏瑙hYoutube鎺ㄨ崘绠楁硶

LeetCode鍒濈骇绠楁硶涔嬪瓧绗︿覆锛?42 鏈夋晥鐨勫瓧姣嶅紓浣嶈瘝

鍒嗗竷寮忎腑鐨勪竴鑷存€х畻娉曚箣Raft绠楁硶

甯歌闈㈣瘯绠楁硶锛氭湸绱犺礉鍙舵柉

鑱婅亰 Raft 绠楁硶