評價算法質(zhì)量的四個方面 圖的廣度遍歷和深度遍歷是唯一的么?
圖的廣度遍歷和深度遍歷是唯一的么?如果它們的存儲結(jié)構(gòu)已確定,則它們是唯一的。因為在存儲中,第一個頂點(diǎn)和頂點(diǎn)之間的鄰接順序是人工定義的。如果我們只從邏輯上考慮算法,它們就不是唯一的你想要代碼嗎?讓我們先
圖的廣度遍歷和深度遍歷是唯一的么?
如果它們的存儲結(jié)構(gòu)已確定,則它們是唯一的。
因為在存儲中,第一個頂點(diǎn)和頂點(diǎn)之間的鄰接順序是人工定義的。如果我們只從邏輯上考慮算法,它們就不是唯一的
你想要代碼嗎?讓我們先用鄰接矩陣來畫圖。深度優(yōu)先遍歷使用遞歸。對于一個節(jié)點(diǎn),它遞歸地訪問它沒有訪問過的相鄰節(jié)點(diǎn)。就像走在迷宮里。當(dāng)你知道沒有路可走時,你可以往回走,找到下一個十字路口。寬度優(yōu)先遍歷使用隊列。當(dāng)一個節(jié)點(diǎn)不在隊列中時,它會將其未訪問的鄰居節(jié)點(diǎn)排隊。就像嚴(yán)重近視的人一樣,如果掉了眼鏡,他們會先找到最近的圓,然后再擴(kuò)大一點(diǎn)。每次遍歷都使用VIS數(shù)組標(biāo)記來確保每個節(jié)點(diǎn)只被訪問一次。