深度優先和廣度優先

2021-08-31 21:30:27 字數 686 閱讀 2370

在爬蟲系統中,待抓取url佇列是很重要的一部分,待抓取url佇列中的url以什麼樣的順序排隊列也是乙個很重要的問題,因為這涉及到先抓取哪個頁面,後抓取哪個頁面。而決定這些url排列順序的方法,叫做抓取策略。下面是常用的兩種策略:深度優先、廣度優先 

注:scrapy預設採用的是深度優先演算法

這裡是深度優先,所以這裡的爬取的順序式:

a-b-d-e-i-c-f-g-h (遞迴實現)

深度優先演算法的實現(偽**):

還是以這個圖為例子,廣度優先的爬取順序為:

a-b-c-d-e-f-g-h-i (佇列實現)

廣度優先**的實現(偽**):

深度優先 廣度優先

父類定義 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 單繼承示例 ...

深度優先和廣度優先區別

一 深度優先搜尋的特點是 1.深度優先搜尋法有遞迴以及非遞迴兩種設計方法。一般的,當搜尋深度較小 問題遞迴方式比較明顯時,用遞迴方法設計好,它可以使得程式結構更簡捷易懂。當資料量較大時,由於系統堆疊容量的限制,遞迴容易產生溢位,用非遞迴方法設計比較好。2.深度優先搜尋方法有廣義和狹義兩種理解。廣義的...

深度優先和廣度優先遍歷

1.深度優先遍歷 從某個節點r出發,訪問子節點l1,若l1還有左子節點l1l,則訪問l1l,否則訪問子節點l1的右子節點l1r,遞迴訪問,直到所有的節點都被訪問到為止。無向圖的深度優先搜尋 遍歷順序為 a c b d f g e 有向圖的深度優先搜尋 遍歷順序為 a b c e d f g 2.廣度...