永发信息网

题目:二叉树操作验证(c++改c)

答案:1  悬赏:30  手机版
解决时间 2021-05-11 16:29

题目:二叉树操作验证

1.实验目的

(1)掌握二叉树的逻辑结构

(2)掌握二叉树的二叉链表存储结构;

(3)掌握基于二叉链表存储的二叉树的遍历操作的实现。

2.实验内容

(1) 建立一棵含有n个结点的二叉树,采用二叉链表存储;

(2) 前序(或中序、后序)遍历该二叉树。

3.实现提示

二叉链表的结点结构如图所示。

lchild

data

rchild

图 二叉树的结点结构

二叉链表的结点用C++中的结构类型描述为:

template <class T>

struct BiNode

T data;

BiNode<T> * lchild,*rchild;

};

设计实验用二叉链表类BiTree,类中包含遍历操作。

template <class T>

class BiTree

public:

BiTree(BiNode<T> *root);//有参构造函数,初始化一棵二叉树,

//其前序序列由键盘输入

~BiTree(); //析构函数,释放二叉链表中各结点的存储空间

void PreOrder(BiNode<T> *root);//前序遍历二叉树

void InOrder(BiNode<T> *root);//中序遍历二叉树

void PostOrder(BiNode< T> *root); //后序遍历二叉树

private:

BiNode<T> *root; //指向根结点的头指针

void Creat(BiNode<T> *root); //有参构造函数调用

void Release(BiNode<T>*root); //析构函数调用

};

设计构造函数,建立一棵二叉树的二叉链表存储。

将二叉树中每个结点的空指针引出一个虚结点,其值为一特定值如#,以标识其为空,把这样处理后的二叉树称为原二叉树的扩展二叉树。扩展二叉树的一个遍历序列就能惟一确定一棵二叉树。假设扩展二叉树的前序遍历序列由键盘输人,root为指向根结点的指针,二叉链表的建立过程是:首先输人根结点,若输人的是一个#字符,则表明该二叉树为空树,即root =NULL;否则输人的字符应该赋予root ->data,之后依次递归建

立它的左子树和右子树。建立二叉链表的递归算法如下:

二叉树的构造函数算法BiTree

template<class T>

BiTree :: BiTree (BiNode<T> *root)

{

root = creat( );

}

template <class T>

BiNode<T> * BiTree :: Creat( )

{

Cin>>ch;

if (ch = =’#’) return NULL; //建立一棵空树

else{

root = new BiNode<T>; //生成一个结点

root ->data = ch;

root ->lchild = Creat( ); //递归建立左子树

root ->rchile = Creat( ); //递归建立右子树

}

}

最佳答案
你好哦楼主~

很高兴看到你的问题。
但是又很遗憾到现在还没有人回答你的问题。也可能你现在已经在别的地方找到了答案,那就得恭喜你啦。
可能是你问的问题有些专业了,没人会。或者别人没有遇到或者接触过你的问题,所以帮不了你。建议你去问题的相关论坛去求助,那里的人通常比较多,也会比较热心,能快点帮你解决问题。

希望我的回答能够帮到你!
祝你好运。。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
丝瓜的花和南瓜的花有什么区别?
有什么经济车型是可以跑长途的呢?
室内装修设计图用哪个软件画最好!
自己在家能做倒模吗?怎么做?具体点谢谢
眼泪掉下来要怎么办?
三星手机进水后开机键失灵,有时自动开机,自动
冼星海是怎样的人,冼星海是一个怎样的人?
我的QQ农场打不开了怎么弄啊
动车多久开始检票,高铁提前多久开始检票
我的农场打不开了,怎么回事
他送给我的礼物我该怎么收藏
90后适合什么样的工作呢
怎样能快速做完作业?
N95,2G,8G的价格和性能天津
什么是COSPLY??
推荐资讯
什么是连载小说,简书写作有稿费吗?一个手机a
三个虫字怎么读,三个香字是什么字
谁有音乐之声中Do Re Mi的五线谱
QQ三国10级4孔鞋为什麽会丢了呢
我该怎么办?同情人氏帮助下。
求犯错的歌谱
荣华富贵不如有个健康的身体古诗词
为什么在空间里看什么都没有声音
谁能把断魂メ数据发给我
爆破工人诗歌,砌墙工人的命运写格言警句
SD敢达更新后4代B抽A机机率大不
一站通可以为企业代缴电费不?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?