深度优先搜索
基本原理就是不断对子节点进行深度优先搜索,递归思想:
1 |
|
广度优先搜索
借助队列数据结构,现将根结点入队,然后出队,访问节点并入队所有子节点。然后重复入队这些子节点,知道队列为空
1 | function bfs(root) { |
https://www.geeksforgeeks.org/inorder-tree-traversal-without-recursion/
https://stackoverflow.com/questions/5278580/non-recursive-depth-first-search-algorithm
例如,树结构是这样的:
1 |
|
DFS输出:
https://www.geeksforgeeks.org/iterative-postorder-traversal-using-stack/?ref=rp
https://www.techiedelight.com/postorder-tree-traversal-iterative-recursive/