- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实现二叉树先序遍历、中序遍历、后序遍历等运算
内容:实现教材中二叉树的链接表示。
实现二叉树先序遍历、中序遍历、后序遍历等运算。 (参考教材6.2)
(2) 实现计算二叉树叶子结点和交换二叉树中所有结点左右子树的运算。
typedef struct btnode
{
int Element;
struct btnode* Lchild, *Rchild;
}BTNode;
typedef struct btree{
struct btnode* Root;
}BTree;
void CreateBT(BTree * Bt)
{
Bt-Root=NULL;
}
BTNode* NewNode( )
{
BTNode* p=(BTNode*)malloc(sizeof(BTNode));
if (IS_FULL(p)){
printf(The memory is full\n);
exit(1);
}
return p;
}
void MakeBT(BTree* Bt, int x, BTree *Lt, BTree *Rt)
{
BTNode* p=NewNode();
p-Element=x;
p-Lchild=Lt-Root;
p-Rchild=Rt-Root;
Lt-Root=Rt-Root=NULL;
Bt-Root=p;
}
void calculate( BTNode *t) //计算叶子结点
{
static int i=0;
if((t-Lchild==NULL)(t-Rchild==NULL))
i++;
}
void swapbitree(BTNode *bt) //jiaohuan zuoyou
{
BTNode *p;
if(bt==0) return ;
swapbitree(bt-Lchild); swapbitree(bt-Rchild);
p=bt-Lchild; bt-Lchild=bt-Rchild; bt-Rchild=p;
}
void PreOrd(void (*Visit)(BTNode * u), BTNode *t) //先序
{ if (t)
{
(*Visit)(t);
PreOrd(Visit, t-Lchild);
PreOrd(Visit, t-Rchild);
}
calculate( t);
}
void PreOrder(BTree Bt, void (*Visit)(BTNode* u))
{ PreOrd(Visit, Bt.Root);
}
void InOrd(void (*Visit)(BTNode * u), BTNode *t) //中序
{
if (t){
InOrd(Visit, t-Lchild);
(*Visit)(t);
InOrd(Visit, t-Rchild);
}
}
void InOrder(BTree Bt, void (*Visit)(BTNode *u))
{
InOrd(Visit, Bt.Root);
}
void PostOrd(void (*Visit)(BTNode * u), BTNode*t) //后序
{
if (t){
PostOrd(Visit, t-Lchild);
PostOrd(Visit, t-Rchild);
(*Visit)(t);
}
}
void PostOrder(BTree Bt, void (*Visit)(BTNode* u))
{
PostOrd(Visit, Bt.Root);
}
void main(void)
{ BTree a, x, y, z; int e;
CreateBT(a); CreateBT(x); CreateBT(y); CreateBT(z);
MakeBT(y, E, a, a);
MakeBT(z, F, a, a); MakeBT(x, C, y, z); MakeBT(y, D, a, a);
MakeBT(z, B, y, x)
printf(叶子结点\t);
printf(%d,i);
}
您可能关注的文档
- 政府部门春联选.doc
- 八一总结.doc
- 把传统农民培育成适应现代农业的新型农民.doc
- 香城泉都——中国咸宁(旅游篇).doc
- 必修一经济生活+必修二政治生活 课文目录大小标题重点归纳及要点.doc
- 63期高等教育学(概念).doc
- 关心下一代工作会议经验交流材料.doc
- 计生2011年工作要点.doc
- 国科会无线感测器网平台技术介面与规格明.pdf
- 班主任和教学论文.doc
- 房地产市场报告-2024天津写字楼市场半年报:需求持续回暖,但租金依旧处于下降通道中.docx
- 组织效能提升工作 坊 系统思考:如何破除组织防卫,提高组织效能.docx
- 房地产-行业月度分析报告:7月成交面积同比呈“新房弱,二手房强”.docx
- 《养老金融月度资讯》-2024年7月CAFF50.docx
- 畜牧养殖环境监测预警系统解决方案.docx
- 2024年6月食品餐饮行业舆情分析报告.docx
- 硅谷银行-医疗保健行业趋势-2024年中期报告 Healthcare Investments and Exits.docx
- 2023全球退煤进展追踪报告.docx
- DB15_T 3555-2024 装配式蒙古包技术规程.docx
- PitchBook-2024年二季度加密货币报告(英).docx
文档评论(0)