2015-11-2 【项目1 - 二叉树算法库】

这篇博客介绍了如何建立二叉树的链式存储结构,实现基本运算并在`btree.h`和`btree.cpp`中分别声明和实现相关函数。在`main`函数中,博主创建了一个特定的二叉树进行测试,包括输出二叉树、查找节点、计算高度和销毁二叉树等操作。文章还包含了运行结果的展示以及知识和学习心得的总结。

1.问题及代码

定义二叉树的链式存储结构,实现其基本运算,并完成测试。
1、头文件btree.h中定义数据结构并声明用于完成基本运算的函数。对应基本运算的函数包括:

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);     //销毁二叉树1


2、在btree.cpp中实现这些函数
  3、在main函数中完成测试,包括如下内容:
  (1)用”A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))”创建如图的二叉树用于测试。
这里写图片描述
  (2)输出二叉树
  (3)查找值为’H’的节点,若找到,输出值为’H’的节点的左、右孩子的值
  (4)求高度二叉树高度
  (5)销毁二叉树
代码:

单链表算法库算法库采用程序的多文件组织形式,包括两个文件:
1.头文件:btree.h,包含定义顺序表数据结构的代码、宏定义、要实现算法的函数的声明;

#ifndef BTREE_H_INCLUDED
#define BTREE_H_INCLUDED

#define MaxSize 100
typedef char ElemType;
typedef struct node
{
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值