数据结构:二叉树子系统.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
*题目:按屏幕提示用前序方法建立一棵二叉树,并能按凹入法显示二叉树结构。 编写前序遍历、中序遍历、后序遍历、层次遍历程序。 编写求二叉树的叶结点数、总结点数和深度的程序。 设计一个选择式菜单,以菜单方式选择下列操作。 二叉树子系统 建二叉树 凹入显示 先序遍历 中序遍历 后序遍历 层次遍历 求叶子数 求结点数 求树深度 返 回 请选择菜单号(0—9) */ #include stdio.h #include stdlib.h typedef struct bTree 〃二叉树结点 char data; 〃值域 struct bTree *Ichild; 〃左孩子 struct bTree *rchild; 〃右孩子 }BT; BT *createTree(); void showTree(BT *t); void preOrder(BT *t); void postOrder(BT *t); void inOrder(BT *t); void levelOrder(BT*t); int leafNum(BT *t); int nodeNum(BT *t); int treeDepth(BT *t); Function: main() Description:主调函数 Input: t:结点指针 Return: int Qhers: NULL ** ?? ********水*********水*水****水*水*水水*水*水*水水*水水水水 int nodeNum(BT*t) 〃结点数 inti=O; if (t) 〃结点不为空 ( i++; i=nodeNum(t-lchild)4-i; i=nodeNum(t-rchild)+i; ) return i; ) *来****求*求****水来水**求*求*求****水米水来*来*求*求*****本水水求水水水 Function: treeDepth() Description:求二叉树的深度 Calls: treeDepth() Input: t:结点指针 Return: int Qhers: NULL **来**求*求******来来*来*求*求**求*求本*水求水来水本求求*求水永水水水本水水求来 int treeDepth(BT*t) 〃二叉树的深度 int Idep, rdep; if (t= NULL) 〃结点不为空 j return 0; ) else [ ldep= treeDepth(t-lchild); rdep = treeDepth(t-rchild); if (ldeprdep) 〃左深度大于右深度 ) return ldep+1; 〃返回左深度的值 return rdep+1; Calls: createTree() showTree() preOrder() postOrder() inOrder() leafNum() levelOrder() nodeNum() treeDepth() * *求*水*水**水*求水水水*水水*水 * *求*水*水**水*求水水水*水水*水 void main() ( BT*t= NULL; int choice,k =1; while (k) printf(H\n 二叉树子系统\n〃); prints 1—— 建一叉树 printf。* 2— 凹入显示 printf(n 3— 先序遍历 printf- 4— 中序遍历 printfC, 5— 后序遍历 printff, 6— ——层次遍历 printf(M 7— 求叶子数 printf(* 8—— ——求结点数 printf(* 9—— ——求树深度 printf- 0- 一返 回 printf ******************************* printf jMcfaK*************************** 1 n): printf (〃请选择菜单号(0-9):〃); fflush(stdin); scanf (%d”,choice); switch(choice) ( printf (〃请输入根结点(O表示该结点为空):〃); t =createTree(); printf (〃二叉树建立成功。\n〃); break; showTree(t); break; printf(〃先序遍历序列:〃); if (t == NULL) { printf (〃空。\n〃); else { preOrder(t); ) break; printf(〃中序遍历序列:〃); if (t == NULL) ) printf (〃空。\n〃); ) else ( inOrder(t); } break; printf(〃后序遍历序列:〃); if (

您可能关注的文档

文档评论(0)

134****5765 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7131166105000033

1亿VIP精品文档

相关文档