第十周--数据结构--二叉树遍历的递归算法
来源:互联网 发布:淘宝卖家在哪里登陆 编辑:程序博客网 时间:2024/06/16 21:50
/*
*第十周--数据结构--二叉树遍历的递归算法
*Copyright (c) 2015 烟台大学计算机与控制工程学院
*All right reserved.
*文件名称:tree.cpp
*writer:罗海员
*date:2015年11月18日
*版本:V1.0.1
*操作系统:windows 8
*运行环境:VC6.0
* 问题描述:
* 程序输出:
*/
#include <stdio.h>#define MaxSize 100typedef char ElemType;typedef struct node{ ElemType data; //数据元素 struct node *lchild; //指向左孩子 struct node *rchild; //指向右孩子} BTNode;void CreateBTNode(BTNode *&b,char *str); //由str串创建二叉链BTNode *FindNode(BTNode *b,ElemType x); //返回data域为x的节点指针BTNode *LchildNode(BTNode *p); //返回*p节点的左孩子节点指针BTNode *RchildNode(BTNode *p); //返回*p节点的右孩子节点指针int BTNodeDepth(BTNode *b); //求二叉树b的深度void DispBTNode(BTNode *b); //以括号表示法输出二叉树void DestroyBTNode(BTNode *&b); //销毁二叉树void PreOrder(BTNode *b);void InOrder(BTNode *b);void PostOrder(BTNode *b);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;}
1 0
- 第十周--数据结构--二叉树遍历的递归算法
- 第十周 项目2 二叉树的遍历递归算法
- 第十周项目二~~~二叉树遍历的递归算法
- 第十周--二叉树遍历的递归算法
- 第十周-项目2 - 二叉树遍历的递归算法
- 第十周项目2-二叉树遍历的递归算法
- 第十周-项目2 - 二叉树遍历的递归算法
- 第十周 项目2-二叉树遍历的递归算法
- 第十周 项目二-二叉树遍历的递归算法
- 第十周--项目二--二叉树遍历的递归算法
- 第十周项目2--二叉树遍历的递归算法
- 第十周项目2【二叉树遍历的递归算法】
- 第十周 项目2 二叉树遍历的递归算法
- 第十周项目二 二叉树遍历的递归算法
- 第十周 项目2-二叉树遍历的递归算法
- 第十周项目2-二叉树遍历的递归算法
- 第十周项目2-二叉树遍历的递归算法
- 第十周 项目二 二叉树遍历的递归算法
- QT无法编译#include *.moc的项目,报No such file or directory
- Null pointer access: The variable number can only be null at this location。 错误解决
- 7. Spring MVC 4.1-文件上传
- 十个值得一试的开源深度学习框架
- 【集训队作业】LYRC
- 第十周--数据结构--二叉树遍历的递归算法
- poj 2184 Cow Exhibition(01背包)
- 正则表达式在字符串某个位置插入字符串
- Spark 使用Python在pyspark中运行简单wordcount
- 专访DeepID发明者孙祎:关于深度学习与人脸算法的深层思考
- GitHub第二周
- poj 2446 Chessboard
- LeetCode:Factorial Trailing Zeroes
- HTML5游戏制作之路_06_egret文本及相关属性