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