用递归方法建立二叉树
来源:互联网 发布:遍历搜索算法 编辑:程序博客网 时间:2024/06/06 14:01
假设二叉树为:
a
b c
d e
因为程序中要知道叶子结点(终点),所以要将上面的二叉树变成扩展二叉树 (把叶子结点的孩子补成#, 用作标记), 扩展后就变成了:
a
b c
# d # e
# # # #
那么,在输入的时候,需要输入: ab#d##c#e## (注意,输入后,按enter键即可) ,程序如下:
- #include<iostream>
- using namespace std;
- typedef struct node
- {
- struct node *leftChild;
- struct node *rightChild;
- char data;
- }BiTreeNode, *BiTree;
- void createBiTree(BiTree &T)
- {
- char c;
- cin >> c;
- if('#' == c)
- T = NULL;
- else
- {
- T = new BiTreeNode;
- T->data = c;
- createBiTree(T->leftChild);
- createBiTree(T->rightChild);
- }
- }
- int main()
- {
- BiTree T;
- createBiTree(T);
- return 0;
- }
经遍历验证可知,上面的程序是正确的, 至于如何遍历,以后的博文会陆续给出相应的程序.
0 0
- 用递归方法建立二叉树
- 用递归方法建立二叉树
- 用递归方法建立二叉树
- 用递归方法建立二叉树
- 非递归队列方法建立二叉树
- 递归和非递归方法建立二叉树
- 递归建立二叉树
- 递归建立二叉树
- 用括号法递归建立二叉树
- 二叉树的递归建立
- 递归法中序建立二叉树
- 递归建立二叉搜索树
- 二叉树的递归建立
- 二叉树的递归建立
- 二叉树建立、递归、非递归遍历
- 二叉树的建立、三种(递归、非递归)遍历方法
- 用递归些线索二叉树建立的注释
- 先序递归建立二叉树
- 安卓高仿QQ头像截取升级版
- ByteArrayInputStream 和InputStream中read方法
- poj 2253 Frogger (floyd)
- Js作用域与作用域链
- MonkeyTalk自动化之FAQ
- 用递归方法建立二叉树
- shell函数返回值接收问题
- JAVA 各种数值类型最大值和最小值 Int, short, char, long, float,&nbs
- hibernate之标识符生成器用法
- 工厂模式和抽象工厂模式有何不同?
- 将eclipse项目部署到tomcat根目录
- 第八课:基本着色
- Android开发的那些坑和小技巧
- Activity - 启动模式