DFS & BFS--Data Structure
2017-09-29 09:23
246 查看
Two ways of traversal : DFS, BFS
Three methods to implement DFS:
InOrderTraversal (tree)
if (tree == null) return;
InOrderTraversal (tree.left);
Print (tree.key);
InOrderTraversal (tree.right);
PreOrderTraversal (tree)
if (tree == null) return;
Print (tree.key);
PreOrderTraversal (tree.left);
PreOrderTraversal (tree.right);
PostOrderTraversal (tree)
if (tree == null) return;
PostOrderTraversal (tree.left);
PostOrderTraversal (tree.right);
Print (tree.key);
Implement of BFS:
LevelTraversal (tree)
if (tree == null) return;
Queue q;
q.Enqueue (tree);
while (!q.Empty()){
node <-- q.Dequeue();
Print (node);
if (node.left != null) q.Enqueue (node.left);
if (node.right != null) q.Enqueue (node.right);
}
Summary:
Tree walks: DFS, BFS.
When working with a tree, recursive algorithms are common.
In CS, trees grow down.
Three methods to implement DFS:
InOrderTraversal (tree)
if (tree == null) return;
InOrderTraversal (tree.left);
Print (tree.key);
InOrderTraversal (tree.right);
PreOrderTraversal (tree)
if (tree == null) return;
Print (tree.key);
PreOrderTraversal (tree.left);
PreOrderTraversal (tree.right);
PostOrderTraversal (tree)
if (tree == null) return;
PostOrderTraversal (tree.left);
PostOrderTraversal (tree.right);
Print (tree.key);
Implement of BFS:
LevelTraversal (tree)
if (tree == null) return;
Queue q;
q.Enqueue (tree);
while (!q.Empty()){
node <-- q.Dequeue();
Print (node);
if (node.left != null) q.Enqueue (node.left);
if (node.right != null) q.Enqueue (node.right);
}
Summary:
Tree walks: DFS, BFS.
When working with a tree, recursive algorithms are common.
In CS, trees grow down.
相关文章推荐
- HNCU1103:红与黑(BFS&DFS)
- SDUT_2015寒假集训_BFS&DFS_D-找朋友
- DFS&&BFS Search Graph
- SDUT:找朋友 BFS&&DFS
- DFS&BFS板子
- 算法学习笔记(一):拓扑排序与传递闭包(通过bfs&&dfs)
- DFS&BFS小结
- hdu4707 Pet(bfs & dfs,vector)
- DFS&BFS专题(一)
- BFS&&DFS模板
- DFS & BFS
- 【NYOJ】-最少步数(DFS || BFS&&队列)
- HDU 4771 Stealing Harry Potter's Precious【BFS+DFS】
- UVALive3902 Network[贪心 DFS&&BFS]
- hdu4707 Pet(bfs & dfs,vector)
- 深搜和广搜 (DFS & BFS)
- 【二分图匹配】最大匹配-匈牙利算法BFS && DFS写法
- HDU 1312 Red and Black(经典搜索,DFS&BFS三种方式)
- 【HDUOJ1241】bfs&&dfs
- Introduction to DFS & BFS