二叉树基本操作及其他2
来源:互联网 发布:我的世界编程猫 编辑:程序博客网 时间:2024/09/21 09:27
int heigh(BTree* tree)//树高
{
if (tree == NULL)
return FALSE;
int ret = r_heigh(tree->root);
return ret;
}
int r_heigh(BTreeNode* node)
{
if (node == NULL)
return FALSE;
int lh = r_height (node->lchild);
int rh = r_height (node->rchild);
return (lh > rh ? lh+1 : rh+1);
}
int bianli(BTree* tree)//遍历操作
{
if (tree == NULL)
return FALSE;
pre(tree->root);
mid(tree->root);
last(tree->root);
return TRUE;
}
int pre(BTreeNode* node)//前序遍历
{
if (node == NULL)
return FALSE;
printf ("%c",node->data);
pre (node->lchild);
pre (node->rchild);//两步递归操作
}
int mid(BTreeNode* node)//中序遍历
{
if (node == NULL)
return FALSE;
mid(node->lchild);
printf("%c",node->data);
mid(node->rchild);
return TRUE;
}
int last(BTreeNode* node)//后序遍历
{
if (node == NULL)
return FALSE;
last(node->lchild);
last(node->rchild);
printf("%c",node->data);
return TRUE;
}
{
if (tree == NULL)
return FALSE;
int ret = r_heigh(tree->root);
return ret;
}
int r_heigh(BTreeNode* node)
{
if (node == NULL)
return FALSE;
int lh = r_height (node->lchild);
int rh = r_height (node->rchild);
return (lh > rh ? lh+1 : rh+1);
}
int bianli(BTree* tree)//遍历操作
{
if (tree == NULL)
return FALSE;
pre(tree->root);
mid(tree->root);
last(tree->root);
return TRUE;
}
int pre(BTreeNode* node)//前序遍历
{
if (node == NULL)
return FALSE;
printf ("%c",node->data);
pre (node->lchild);
pre (node->rchild);//两步递归操作
}
int mid(BTreeNode* node)//中序遍历
{
if (node == NULL)
return FALSE;
mid(node->lchild);
printf("%c",node->data);
mid(node->rchild);
return TRUE;
}
int last(BTreeNode* node)//后序遍历
{
if (node == NULL)
return FALSE;
last(node->lchild);
last(node->rchild);
printf("%c",node->data);
return TRUE;
}
阅读全文
0 0
- 二叉树基本操作及其他2
- 二叉树的基本应用及其他
- 二叉树及其基本操作
- 二叉树 及其基本操作
- 二叉树及其基本操作
- 排序二叉树实现及其基本操作
- 二叉树的建立及其基本操作
- 二叉树建立及其基本操作
- 名称:二叉树及其基本操作
- [数据结构] 二叉树的建立及其基本操作
- 数据结构——二叉树及其基本操作
- vi基本操作(5) -- 缓冲区操作及其他
- 二叉树基本操作
- 二叉树 基本操作
- 二叉树基本操作
- 基本二叉树操作
- 二叉树基本操作
- 二叉树基本操作
- 杭电-1000-第一篇自然是最简单的求和
- spring boot session redis的使用
- 使用七牛图床
- 项目第二天
- int main() 和 int main( int argc, char * argv[])的区别
- 二叉树基本操作及其他2
- 杭电acm—1257 最少拦截系统
- @MultipartConfig,Servlet3.0通过Part进行文件上传
- PHP PDOStatement:bindParam 插入数据错误问题分析
- js浮动侧边拦
- 数据结构链式队列
- POJ 2796 Feel Good 单调栈或者笛卡尔树
- jQuery NaN isNan() 数字值
- cef下加载flash