欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    数据结构课程设计二叉排序树的实现Word文档格式.docx

    • 资源ID:20618003       资源大小:50.17KB        全文页数:9页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据结构课程设计二叉排序树的实现Word文档格式.docx

    1、3)输入元素x,查找二叉排序树T,若存在含x的结点,则删除该结点,并作中序遍历(执行操作2);否则输出信息“无x”。(一)问题分析和任务定义 对问题的描述应避开具体的算法和涉及的数据结构,它是对要完成的任务作出明确的回答,强调的是做什么,而不是怎么做。(二)详细的设计和编码 算法的具体描述和代码的书写。(三)上机调试 源程序的输入和代码的调试。要求:设计中要求综合运用所学知识,上机解决一些与实际应用结合紧密的、规模较大的问题,通过分析、设计、编码、调试等各环节的训练,深刻理解、牢固的掌握数据结构和算法设计技术,掌握分析、解决实际问题的能力。四、源代码1、用二叉链表存储结构实现#include

    2、using namespace std;typedef int KeyType;typedef struct Node KeyType key ; struct Node *lchild,*rchild;BSTNode, *BSTree;void InsertBST(BSTree *bst, KeyType key) BSTree s; if (*bst = NULL)/*递归结束条件*/ s=new BSTNode; s- key=key;lchild=NULL;rchild=NULL; *bst=s; else if (key key) InsertBST(&(*bst)-lchild),

    3、 key);/*将s插入左子树*/ else if (key InsertBST(&rchild), key); /*将s插入右子树*/void CreateBST(BSTree *bst) KeyType key; *bst=NULL; scanf(%d, &key); while (key!=0) InsertBST(bst, key); scanf(void InOrder(BSTree root) if (root!=NULL) InOrder(root-lchild); printf(%d ,root-rchild);BSTNode * DelBST(BSTree T, KeyTyp

    4、e x) BSTNode *p, *f,*s ,*q; p=T; f=NULL; while(p) /*查找关键字为x的待删结点p*/ if(p-key=x) break; f=p; /*f指向p结点的双亲结点*/keyx) p=p-lchild;rchild; if(p=NULL)return T; /*若找不到,返回原来的二叉排序树*/ if(p-lchild=NULL) /*p无左子树*/ if(f=NULL) T=p- if(f-lchild=p) f-lchild=p-rchild ; else rchild=p- delete p; else /*p有左子树*/ q=p; s=p-

    5、 while(s-rchild) /*在p的左子树中查找最右下结点*/ q=s; s=s- if(q=p) q-lchild=s-lchild ; /*将s的左子树链到q上*/rchild=s- p-key=s-key; delete s; return T; void main() BSTree T; int x; BSTree result; printf(建立二叉排序树,请输入序列L:n); CreateBST(&T);中序遍历输出序列为: InOrder(T); cinx; result = DelBST(T,x); if (result != NULL) InOrder(result

    6、); else无xn2、用顺序存储结构实现#include struct Node *next;BSTNode,*BSTree;int A40=-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1;int j,i=0;void InsertBST(int A,KeyType key) int j=0; while(Aj!=-1) if(keyAj) j=2*j+1; j=2*j+2; Aj=key;void C

    7、reateBST(int A) int key;while (key!=-1) InsertBST(A,key);void Traverse(int A,int i) if(Ai!=-1) Traverse(A,2*i+1); coutAit; Traverse(A,2*i+2);void DelBST(int A,KeyType x) for(i=0;i40;i+) if(Ai=x) Ai=-1; /int key; CreateBST(A); Traverse(A,0); DelBST(A,x);删除x后中序遍历输出序列为:无Xn五、测试分析程序运行:1、用二叉链表存储结构实现:2、用顺序

    8、存储结构实现:六、总结与体会通过一周的课程设计,对计算机的应用,数据结构的作用以及C+的使用都有了更深的了解。在理论学习和上机实践的各个环节中,通过自主学习和请教老师,我收获了不少。当然也遇到不少的问题,也正是因为这些问题引发的思考给我带了收获。从当初不喜欢上机写程序到现在能主动写程序,从当初拿着程序不知如何下手到现在知道如何分析问题,如何用专业知识解决实际问题的转变,我发现无论是专业知识还是动手能力,自己都有很大程度的提高。在这段时间里,我遇到过的问题主要就是C语言和C+语言有些混淆,一些用法记不太清楚。在老师的指导帮助下,同学们课余时间的讨论中,这些问题都一一得到了解决。在程序的调试能力上,无形中得到了许多的提高。例如:头文件的使用,变量和数组的范围问题,定义变量时出现的问题等等。在实际的上机操作过程中,不仅是让我们了解数据结构的理论知识,更重要的是培养解决实际问题的能力,所以相信通过此次实习可以提高我们分析设计能力和编程能力,为后续课程的学习及实践打下良好的基础。


    注意事项

    本文(数据结构课程设计二叉排序树的实现Word文档格式.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开