二叉樹建立,前序遍歷,中序遍歷,後序遍歷 思路
#include<stdio.h>
#include<stdlib.h>
typedef char ElemType;
typedef struct BiTNode
{
char data;
struct BitNode *lchild, *rchild;
}BiTnode,*BiTree;
//建立一顆二叉樹,約定使用者用前序遍歷的方式輸入資料
CreateBiTree(BiTree *T)
{
char c;
scanf("%c",c);
if(' ' ==c)
{
*T = NULL;
}
else
{
*T =(BitNode *)malloc(sizeof(BiTNode));
(*T)->data = c;
CreateBiTree(&(*T)->lchild);
CreateBiTree(&(*T)->rchild);
}
}
//訪問二叉樹結點的具體操作,逆向幹嘛!
visit(char c, in level)
{
printf("%c 位於第%d層\n", c, level);
}
//遍歷二叉樹,前序遍歷
PreOrderTraverse(BiTree T,int level)
{
if(T)
{
visit(T->data,level);
PreOrderTraverse(T->lchild,level+1);
PreOrderTraverse(T->rchild,level+1);
}
}
//中序遍歷
PreOrderTraverse(BiTree T,int level)
{
if(T)
{
PreOrderTraverse(T->lchild,level+1);
visit(T->data,level);
PreOrderTraverse(T->rchild,level+1);
}
}
//後序遍歷
PreOrderTraverse(BiTree T,int level)
{
if(T)
{
PreOrderTraverse(T->lchild,level+1);
PreOrderTraverse(T->rchild,level+1);
visit(T->data,level);
}
}
int main()
{
int level = 1;
BiTree T = NULL;
CreatBiTree(&T);
PreOrderTraverse(T,level);
return 0;
}
相關文章
- 二叉樹的建立、前序遍歷、中序遍歷、後序遍歷二叉樹
- 資料結構與演算法——二叉樹的前序遍歷,中序遍歷,後序遍歷資料結構演算法二叉樹
- 根據前序遍歷序列、中序遍歷序列,重建二叉樹二叉樹
- 二叉樹的前序、中序、後序三種遍歷二叉樹
- LintCode 前序遍歷和中序遍歷樹構造二叉樹二叉樹
- 144.二叉樹的前序遍歷145.二叉樹的後序遍歷 94.二叉樹的中序遍歷二叉樹
- 二叉樹的前序,中序,後序遍歷方法總結二叉樹
- 根據二叉樹的前序遍歷和中序遍歷輸出二叉樹;二叉樹
- 二叉樹--後序遍歷二叉樹
- 關於二叉樹的前序遍歷、中序遍歷、刪除元素、插入元素二叉樹
- 刷題筆記:樹的前序、中序、後序遍歷筆記
- 二叉樹的先,中,後序遍歷二叉樹
- 二叉樹的先中後序遍歷二叉樹
- 二叉樹的前中後序遍歷二叉樹
- 二叉樹中序和後序遍歷表示式二叉樹
- 層序遍歷二叉樹二叉樹
- 144. 二叉樹的遍歷「前序、中序、後序」 Golang實現二叉樹Golang
- 建立二叉樹:層次遍歷--樹的寬度高度,後序遍歷--祖先節點二叉樹
- 二叉樹:構造二叉樹(通過前序和中序遍歷)、映象翻轉、層次遍歷二叉樹
- Construct Binary Tree from Preorder and Inorder Traversal(前序遍歷和中序遍歷樹構造二叉樹)...Struct二叉樹
- ast 後序遍歷AST
- 二叉樹迭代器(中序遞迴、前序和後序遍歷)演算法二叉樹遞迴演算法
- 二叉樹的層序遍歷二叉樹
- 中序線索二叉樹的建立與遍歷二叉樹
- 從中序與後序遍歷序列構造二叉樹二叉樹
- 非遞迴實現先序遍歷和中序遍歷遞迴
- 889. 根據前序和後序遍歷構造二叉樹二叉樹
- 二叉樹前序、中序、後序遍歷相互求法(code留著看,概念先看了)二叉樹
- PAT 1043 Is It a Binary Search Tree (25分) 由前序遍歷得到二叉搜尋樹的後序遍歷
- 二叉樹的四種遍歷方法:先序,中序,後序,層序二叉樹
- 資料結構 排序二叉樹(BST) 插入刪除查詢 中序遍歷 銷燬(後序遍歷)資料結構排序二叉樹
- 【樹01】對二叉樹前序/中序/後序遍歷演算法的一些思考二叉樹演算法
- 【資料結構與演算法】二叉樹的 Morris 遍歷(前序、中序、後序)資料結構演算法二叉樹
- 94. 二叉樹的中序遍歷(迭代)二叉樹
- python-二叉樹:前、中、後、層序遍歷Python二叉樹
- 演算法 -- 實現二叉樹先序,中序和後序遍歷演算法二叉樹
- 劍指offer:輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。二叉樹
- 力扣#94 樹的中序遍歷力扣