少於 1 分鐘閱讀

深度搜索演算法

此算法會往最深的路徑一直往下尋找,當抵達目前最大深度並且所在的邊都已經尋找過, 搜索將回朔到上一個節點的所在的邊,繼續往下搜尋直到達到最深處,如此反覆此行直到 全部的行程都確實結束

RUNOOB 图标

上圖是使用深度算法跑1、2、3全排列的範例

123 是一個節點,有1、2、3三個邊

路徑一

第一層進入邊1,進入第二層節點邊1,因為邊1已經使用過

換走邊2,進去第三層節點,邊1、2已經使用過,走邊3

已到最3層,路徑結束

路徑二

路徑一已經達到第三層,回第二層節點,這個節點目前是到邊2,走邊3,走第三層節點,

此節點邊1已經走過,繼續走邊2,目前已經是第三層,此路徑結束

持續搜索

持續一樣的步驟,搜尋目前節點可以走的邊,找到之後往下一層節點前進,如果達到第三層就返回上一層節點

從退回的節點搜索下一個可以走的邊,一直重複一樣的步驟直到把所有的路徑走完為止。

標籤:

更新時間: