二叉排序树的实现_设计.docVIP

  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文档。上传文档
查看更多
中北大学 数 据 结 构 课 程 设 计 说 明 书 ? ? ? 学生姓名: 程亚男? 学 号: 1021011616 学 院: 软件学院 专 业: 软件工程 题 目: 二叉排序树的实现 指导教师 何志英 ? ? ? ?2011年12月20日 设计任务概述: 功能描述: (1)以回车(\n)为输入结束标志,输入数列L,生成一棵二叉排序树T;对二叉排序树T作中序遍历,输出结果;输入元素x,查找二叉排序树T,若存在含x的结点,则删除该结点,并作中序遍历(执行操作2);否则输出信息“无x”int main(){ LNode root=NULL; int Num,a,x; printf(\n\n *******************************\n); printf( ************主菜单*************\n); printf( *1:进行中序排列 *\n); printf( *2:进行删除操作 *\n); printf( *3:退出 *\n); printf( *******************************\n); printf(请输入要进行操作的数字以0结束:\n); 运行结果 (3)中序遍历模块 void view(LNode p){//中序遍历函数 if(p){ view(p-lch); printf(%d ,p-date); view(p-rch);//递归调用 return; } return; } 运行结果 (3)删除模块 LNode DelNode(LNode t,int x) { LNode p=t; LNode q=NULL; LNode s; LNode f; while(p!=NULL){ if(p-date==x){ break; } q=p; if(x=p-date){ p=p-lch; } else{ p=p-rch; } } if(p==NULL){ printf(不存在您要删除的数 %d !,x); return p; } if(p-lch) { s=p-lch; //s指向其左子树; f=p-lch; //f指向其左子树; while(s- rch)//有哪些信誉好的足球投注网站左子树的最右边的叶子结点 { f=s; s=s-rch; } p-date=s-date; if(f !=s){ //若不是p的左孩子,把r的左孩子作为r的父亲的右孩子 f- rch=s-lch; } else { p-lch = s-lch; //否则结点p的左子树指向s的左子树 } free(s); return p; } else { if(q-lch==p){ q-lch = p-rch; } else{ q-rch = p-rch; } free(p); return q; } } 3.3 程序运行结果 4.课程设计心得、存在问题及解决方法 通过这次课程设计,我进一步的懂得了二叉链表的建立方法,进一步的了解了二叉排序树的构造方法。对函数的构造以及调用有了更进一步的掌握,让我在调试程序是有了一定的经验。多考虑算法的可行性。在遇到问题是认真考虑。同时让我意识到数据结构在编程中的重要作用。算法的优越性对程序的重要性。让我在调试程序是有了一定的经验。 对二叉排序树T作中序遍历,并输出结果 二叉链表作存储结构和顺序表作存储结构 输入数列L, 以回车(‘\\n’)为输入结束标志生成二叉排序树T; 输入元素x,查找二叉排序树T OK! NO! 二叉排序树T是否为平衡二叉树 无结点x 存在含x的结点,则删除该结点,并作中序遍历 找到该节点x

文档评论(0)

502992 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档