快速理解深度优先搜索
深度优先搜索有三种:
1.前序遍历
2.中序遍历
3.后序遍历
它们的区别是什么呢?
这三种搜索类型其实是根据访问根的顺序决定的。
直白叙述就是当我们访问树时,一个节点连接的其余节点的是按什么顺序被打印出来的。
那么前序遍历根第一个出现,按照 根、左子树、又子树的顺序;
中序遍历就是左子树、根、右子树的顺序;
后序遍历就是左子树、右子树、根的顺序。
这时我们又会发现了,我们访问左子树和右子树的相对顺序是不变的。
这也就是对于连接同一个根的子树来说,左边的元素总比右边的元素先打印出来。
来道例题 (取自PKUx张铭)