递归时,如果不先print,则是递归调用到最底层之后再print,所以这里我们看到的中序遍历以及后序遍历都是从最底部向上输出的。
BST(Binary Search Tree)通常都是和inorder(中序遍历)相联合的,这样它输出的是一个排好序的结果,因为BST的性质是左面子树都比root小,右面子树都比root大,并且inorder输出时,先是左子树(小)->root(中)->右子树(大)
递归的停止条件,以及return中的函数是核心
在Java中实现每个遍历的时候是需要新建一个函数的,void类型(无返回值),只是新建一个list,在递归过程中存放到list中去。然后在主函数中调用递归函数,return list即可,如下。这个整个过程可以理解为先到底,再回溯-----> DFS(类似于栈),然而BFS是队列