1.深度優先
2.廣度優先
對於演算法來說 無非就是時間換空間 空間換時間
深度優先不需要記住所有的節點, 所以占用空間小, 而廣度優先需要先記錄所有的節點占用空間大
深度優先有回溯的操作(沒有路走了需要回頭)所以相對而言時間會長一點
深度優先採用的是堆疊的形式, 即先進後出
廣度優先則採用的是佇列的形式, 即先進先出
] },
] },
] },
],
},
] },
] },
] },
],
}
]
// 深度遍歷, 使用遞迴
function
getname(data)
map(item);
})
return
result.join(
','
);
}
// 廣度遍歷, 建立乙個執行佇列, 當隊列為空的時候則結束
function
getname2(data) );
}
return
result.join(
','
);
}
console.log(getname(data))
console.log(getname2(data))
什麼是深度優先搜尋和廣度優先搜尋
簡單圖 graph 無環並且無平行邊的圖.路 path 內部點互不相同的鏈。如果無向圖g中每一對不同的頂點x和y都有一條路,即w g 1,連通分支數 則稱g是連通圖,反之稱為非連通圖。兩端點相同的路 即閉路 稱為圈 cycle 樹 tree 是無圈連通無向圖。樹中度數為1的結點稱為樹的葉結點。樹中度...
深度優先和廣度優先
在爬蟲系統中,待抓取url佇列是很重要的一部分,待抓取url佇列中的url以什麼樣的順序排隊列也是乙個很重要的問題,因為這涉及到先抓取哪個頁面,後抓取哪個頁面。而決定這些url排列順序的方法,叫做抓取策略。下面是常用的兩種策略 深度優先 廣度優先 注 scrapy預設採用的是深度優先演算法 這裡是深...
深度優先 廣度優先
父類定義 class people def init self,name,age,weight self.name name self.age age self.weight weight defspeak self print s 說 我 d 歲。self.name,self.age 單繼承示例 ...