二叉树的操作
来源:互联网 发布:福禄克435下载数据 编辑:程序博客网 时间:2024/06/06 02:29
1.二叉树的遍历
树的遍历是访问树的每个结点,且每个结点被访问一次。
分为四种方式:先序遍历,中序遍历,后序遍历,层序遍历。
代码实现:
void InorderTraversal( BinTree BT ){ if(BT) { InorderTraversal(BT->Left); printf(" %c",BT->Data); InorderTraversal(BT->Right); } return ;}void PreorderTraversal( BinTree BT ){ if(BT) { printf(" %c",BT->Data); PreorderTraversal(BT->Left); PreorderTraversal(BT->Right); } return ;}void PostorderTraversal( BinTree BT ){ if(BT) { PostorderTraversal(BT->Left); PostorderTraversal(BT->Right); printf(" %c",BT->Data); }}void LevelorderTraversal( BinTree BT ){ BinTree a[10000]; int head = 0,rear = 0; if(!BT) return ; a[rear++] = BT; while(rear > head) { BinTree x = a[head]; printf(" %c",x->Data); head++; if(x->Left) a[rear++] = x->Left; if(x->Right) a[rear++] = x->Right; } return ;}
2.求二叉树的高度
根结点的高度是左子树的高度和右子树高度两者中最大值加1。
int GetHeight( BinTree BT ){ int HL,HR,MaxH; if(BT) { HL = GetHeight(BT->Left); HR = GetHeight(BT->Right); MaxH = HL>HR?HL:HR; return MaxH+1; } else return 0;}
0 0
- 二叉树的操作
- 二叉树的操作
- 二叉树的操作
- 二叉树的操作
- 二叉树的操作
- 二叉树的操作
- 二叉树的操作
- 二叉树的操作
- 二叉树的操作
- 二叉树的操作
- 二叉树的操作
- 二叉树的操作
- 二叉树的操作
- 二叉树的操作
- 二叉树的操作
- 二叉树的操作
- 二叉树的操作
- 二叉树的操作
- CSS3属性transition(过渡)详解
- 关于merge函数的使用
- 安卓开发之多线程断点下载(三)
- js 封装自己的class类
- IQKeyboardManager第三方库的使用
- 二叉树的操作
- Flutter基础—布局模型之层叠定位
- JSON.parse()和JSON.stringify()
- git学习2
- spark+mongodb + quartz
- 分布式缓存技术PK:选择Redis还是Memcached?
- Unreal Engine 4 C++ Component介绍——BrainComponent
- CSDN博客积分规则和获取积分方法
- pdo事务