深度优先 广度优先
如圖所示,爬去網(wǎng)站的url時,深度優(yōu)先按照這個順序爬取 ?利用遞歸實現(xiàn)樹的廣度優(yōu)先遍歷
? ? ? ?A B D ? ? ?E I ? ? ?C F G H(遞歸實現(xiàn))
? ?def depth-tree(tree-code);
? ? ? ? ?if tree-node is not None;
? ? ? ? ? ? ? ?print (tree-note.-data)
? ? ? ? ? ? ? ? ?if tree-node.-left is not None;
? ? ? ? ? ? ? ? ? ? ? ? ?return depth-tree(tree-node.-left)
? ? ? ? ? ? ? ? if tree-node.-right is not None;
? ? ? ? ? ? ? ? ? ? ? ? return depth-tree(tree-node.-right)
?
?
?
如圖所示,爬去網(wǎng)站的url時,?廣度優(yōu)先按照這個順序爬取 ?利用隊列實現(xiàn)樹的廣度優(yōu)先遍歷
? ? ?A B C D E F G H I (隊列實現(xiàn))
?def level-queue(root);
? ? ? ? if root is None;
? ? ? ? ? ? ?return
? ? ? ?my-queue = [ ]
? ? ? ? node=root
? ? ? ? my-queue.append(node)
? ? ? ? while my-queue:
? ? ? ? ? ? ? node = my-queue.pop(0)
? ? ? ? ? ? ? print(node.elem)
? ? ? ? ? ? ? if node.lchild is not none:
? ? ? ? ? ? ? ? ? my-queue.append(node.lchild)
? ? ? ? ? ?
? ? ? ? ? ? ?if node.rchild is not none:
? ? ? ? ? ? ? ? ? my-queue.append(node.rchild)
? ? ? ? ? ?
?
?
?
?
?
?
?
轉載于:https://www.cnblogs.com/lumc5/p/11000951.html
總結
- 上一篇: 第二次Java作业2
- 下一篇: python统计自己微信好友并抓取信息