二叉树的遍历
来源:互联网 发布:oracle数据库日常备份 编辑:程序博客网 时间:2024/06/05 15:03
代码部分:
#include <stdio.h>#include "btree.h"void PreOrder(BTNode *b) //先序遍历的递归算法{ if (b!=NULL) { printf("%c ",b->data); //访问根节点 PreOrder(b->lchild); //递归访问左子树 PreOrder(b->rchild); //递归访问右子树 }}void InOrder(BTNode *b) //中序遍历的递归算法{ if (b!=NULL) { InOrder(b->lchild); //递归访问左子树 printf("%c ",b->data); //访问根节点 InOrder(b->rchild); //递归访问右子树 }}void PostOrder(BTNode *b) //后序遍历的递归算法{ if (b!=NULL) { PostOrder(b->lchild); //递归访问左子树 PostOrder(b->rchild); //递归访问右子树 printf("%c ",b->data); //访问根节点 }}int main(){ BTNode *b; CreateBTNode(b,"A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))"); printf("二叉树b:"); DispBTNode(b); printf("\n"); printf("先序遍历序列:\n"); PreOrder(b); printf("\n"); printf("中序遍历序列:\n"); InOrder(b); printf("\n"); printf("后序遍历序列:\n"); PostOrder(b); printf("\n"); DestroyBTNode(b); return 0;}
结果:
学习收获:
通过老师多次的讲解加上自己的多次领悟终于把递归这快研究透了.
0 0
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 二叉树的遍历
- 父进程等待子进程结束 waitpid wait
- 自定义控件(6)---PorterDuffXfermode图形过滤器之橡皮擦应用
- 第十一周 项目1-3 线索化二叉树
- django html相关过滤器
- 第十一周 项目1-验证算法(2)
- 二叉树的遍历
- Laravel5.0学习系类2之模板引擎blade
- 第8周项目5 - 计数的模式匹配
- 第十一周--二叉树的构造(2)
- java经典面试题
- java多线程
- 鸟哥的Linux私房菜读书笔记-第11章-认识与学习bash
- 贪吃蛇游戏笔记5
- 第十周项目--【二叉树遍历的递归算法】