鄰接表存儲(chǔ)結(jié)構(gòu) 圖的深度優(yōu)先遍歷非遞歸方法可以用隊(duì)列嗎?
圖的深度優(yōu)先遍歷非遞歸方法可以用隊(duì)列嗎?不,您需要確保在返回時(shí)沿著原始路徑一步一步地返回,只是在后進(jìn)先出模式下。只能使用堆棧或與堆棧類似的結(jié)構(gòu)。如果使用隊(duì)列,就不會(huì)沿著即將到來的路徑向后退如果所有節(jié)點(diǎn)
圖的深度優(yōu)先遍歷非遞歸方法可以用隊(duì)列嗎?
不,您需要確保在返回時(shí)沿著原始路徑一步一步地返回,只是在后進(jìn)先出模式下。只能使用堆棧或與堆棧類似的結(jié)構(gòu)。如果使用隊(duì)列,就不會(huì)沿著即將到來的路徑向后退
如果所有節(jié)點(diǎn)的左右子樹都被轉(zhuǎn)換,主要有兩種方式。深度優(yōu)先遍歷,從根到最小子樹的訪問解決問題。當(dāng)所有節(jié)點(diǎn)都被訪問時(shí),交換就完成了?;蛘連FS廣度優(yōu)先從根節(jié)點(diǎn)依次交換左右子樹,訪問完所有節(jié)點(diǎn)后交換完成。建議使用BFS。邏輯簡(jiǎn)單易懂,實(shí)現(xiàn)簡(jiǎn)單。排隊(duì)感覺也比堆積如山好。