CreateBiTree(&Tree); printf("前序遍历:"); PreOrderTraverse(Tree); printf("\n"); printf("中序遍历:"); InOrderTraverse(Tree); printf("\n"); printf("后序遍历:"); PostOrderTraverse(Tree); printf("\n"); printf("非递归先序遍历:"); PreOrder(Tree); printf("\n"); } 1. 2. 3...
后序遍历:总是先访问左子树、然后访问右子树、然后访问根节点 所以对于上面的二叉树,后序遍历顺序为:D-E-B-F-G-C-A 层序遍历 这个好理解,按层次访问,所以: 层序遍历:自上层至下层,同层自左至右遍历 所以对于上面的二叉树,层序遍历顺序为:A-B-C-D-E-F-G 代码实现 分析清楚了如何遍历的,代码实现也...
//这道题和已知中序于后序遍历求二叉树类似,仅仅方向不同,递归求解即可 struct TreeNode *findSubRoot(int* preorder, int* inorder, int *preOrderEnd, int inStart, int inEnd) { int i, val; struct TreeNode *root, *left, *right; //中序序列找不到,说明是一个空节点 if (inStart > inEn...
跳出当前这个函数 也就是 return ;后面的代码不会再执行了 函数返回到它被调用点