1. 程式人生 > >Something about 【DFS&BFS】

Something about 【DFS&BFS】

1. 樹的BFS和圖的BFS的區別

樹的BFS不需要判重,因為根本不會重複。二叉樹這種資料結構,上下層關係分明,沒有環,所以不會出現一個節點的兒子的兒子是它本身的情況。但是在圖中這種情況是很有可能的。所以,對於圖來說,如果不判重,時間和空間都將產生極大的浪費。

2. DFS的回溯

在遞迴和構造中,生成和檢查的有機結合減小不必要的列舉——回溯法。一般的,在回溯法中如果修改了輔助的全域性變數,則一定要及時把它們恢復原狀(除非你故意保留你的修改)。例如,若函式有多個出口,則需在每個出口處恢復被修改的值。