二叉树相关操作课程设计.doc

上传人:laozhun 文档编号:2396496 上传时间:2023-02-17 格式:DOC 页数:16 大小:107.50KB
返回 下载 相关 举报
二叉树相关操作课程设计.doc_第1页
第1页 / 共16页
二叉树相关操作课程设计.doc_第2页
第2页 / 共16页
二叉树相关操作课程设计.doc_第3页
第3页 / 共16页
二叉树相关操作课程设计.doc_第4页
第4页 / 共16页
二叉树相关操作课程设计.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《二叉树相关操作课程设计.doc》由会员分享,可在线阅读,更多相关《二叉树相关操作课程设计.doc(16页珍藏版)》请在三一办公上搜索。

1、 数据结构课程设计-题目:二叉树的相关操作 姓 名: 学 号: 专 业: 班 级: 指导教师: 年 月 日 目 录1、 课程设计目的.12、 课程设计题目及要求.13、 模块图与流程图.14、 程序清单.55、 运行结果.116、 实验心得.13一、 课程设计目的:课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力。二、 课程设计题目及要求:二叉排序树的相关操作要求:完成二叉排序树的建立、查询、插入和删除操作。三、 模块图与流程图:模块图:建立查询插入删除 开始流程图: main()

2、退出exit()显示 print()删除delete()查询search() 插入insert ()建立Creat() 结束 四、 程序清单:#include #include typedef struct node int key; struct node *LChild,*RChild; BSTNode,*BSTree; void CreatBST(BSTree *bst);BSTree SearchBST(BSTree bst,int key) ;void InsertBST(BSTree *bst,int key) ;BSTNode * DelBST(BSTree t,int k) ;

3、void printBST(BSTree t);const int n = 10;void CreatBST(BSTree *bst) int i; int key; *bst=NULL; for(i=1;ikey=key) return bst; else if(key key) return SearchBST(bst-LChild, key); else return SearchBST(bst-RChild, key); void InsertBST(BSTree *bst,int key) BSTree t; if(*bst=NULL) t=(BSTree)malloc(sizeof

4、(BSTNode); t-key=key; t-LChild=NULL; t-RChild=NULL; *bst=t; else if(key key) InsertBST(&(*bst)-LChild),key); else if(key(*bst)-key) InsertBST(&(*bst)-RChild,key); BSTNode * DelBST(BSTree t,int k) BSTNode *p,*f,*s,*q; p=t; f=NULL; while(p) if(p-key=k) break; f=p; if(p-keyk) p=p-LChild; else p=p-RChil

5、d; if(p=NULL) return t; if(p-LChild=NULL) if(f=NULL) t=p-RChild; else if(f-LChild=p) f-LChild=p-RChild; else f-RChild=p-LChild; free(p); else q=p; s=s-LChild; while(s-RChild) q=s; s=s-RChild; if(q=p) q-LChild=s-LChild; else q-RChild=s-LChild; p-key=s-key; free(s); return t; void printBST(BSTree t) i

6、f (t) printBST(t-LChild); printf(%4d, t-key); printBST(t-RChild); intmain() BSTNode * root; BSTree s; int loop,i,data; while(1) printf(nCai Dann); printf( 1.Creatn); printf( 2.Searchn); printf( 3.Insertn); printf( 4.Deleten); printf( 5.Printn); printf( 6.exitn); scanf(%d,&i); if(i6) printf( i is err

7、or.); switch(i) case 1: printf(CreatBST); CreatBST(&root); break; case 2: printf(Please input the data you want search.n); scanf(%d,&data); s=SearchBST(root,data); if (s!=NULL)printf(the data in the bstree); else printf(no match datan); break; case 3: printf(Please input the data you want insert.n);

8、 scanf(%d,&data); InsertBST(&root,data); break; case 4: printf(Please input the data you want delete.n); scanf(%d,&data); root=DelBST(root,data); break; case 5: printf(n); if (root!=NULL) printf(The BSTrees root is:%dn,root-key); printBST(root); break; case 6:exit(0);break; 五、 实验结果1,建立二叉树2 查询3插入4删除5

9、显示6退出退出后的界面六、 实验心得通过此次数据结构课程设计,本人实在获益匪浅。由于刚开始没怎么学好这门课程,刚开始的时候无从下手。呆呆的坐在微机房中发呆。回去后,决定从头复习所做题目内容。加上朋友,同学的帮助。经过两天时间的努力,终于完成了老师的任务。刚开始,有一些错误,问了老师,老师点出了错误的重点,又给了适当的提示。于是自己浏览修改。最后通过了检查。反思这次课程设计,有得到,有收获。最重要的是让自己重新学习了一遍数据结构。为了以后的期末考试提前复习了一遍。再有就是明白了学习中互相帮助的重要性。同学习,同成长。最后,感谢老师,感谢同学,没有你们我很难完成这次课程设计。在以后的学习中,我会吸取教训。认真学习。圆满的通过大学课程!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号