logo

您所在位置网站首页 > 海量文档  > 计算机 > C/C++资料

江苏大学C++二叉排序树的建立、插入、删除和查找(免费下载).doc 23页

本文档一共被下载: ,您可全文免费在线阅读后下载本文档。

  • 支付并下载
  • 收藏该文档
  • 百度一下本文档
  • 修改文档简介
全屏预览

下载提示

1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
数据结构课程设计实验报告 设计题目:二叉排序树的建立、插入、删除和查找 学生姓名: 系 别: 专 业: 班 级: 学 号: 指导教师: 一、需求分析 1、运行环境 Microsoft Visual Studio 2008 2、程序所实现的功能 二叉排序树的建立、插入、删除和查找 给出一组关键值,建立相应的二叉排序树,完成: ⑴结点的删除操作。要求可以实现删除根结点、叶子结点以及其它任意结点的功能; ⑵插入一个新结点的操作; ⑶对给定的值在二叉排序树进行查找; ⑷随时显示操作的结果。 3、程序的输入,包含输入的数据格式和说明 程序从外部输入数据,输入一串数字序列并以-1结束 4、程序的输出,及其输出格式 通过用户手动选择操作指令,经由程序内部处理,输 出相应的结果到显示屏 5、测试数据,如果程序输入的数据量比较大,需要给出测试数据 用户手动输入一个数字序列进行数据测试 二、设计说明 1、算法设计的思想 通过算法的需求,确定算法的主要模块(建立并输出二叉树、插入结点、删除结点、查找结点、以及主函数模块)对各模块再进行函数的选取与构造,以及变量的控制等。最后,再将各模块结合,形成完整的算法,注意全局变量的选择。 2、主要的数据结构设计说明 二叉排序树的主要存储结构 Typedef struct TreeNode//声明数的结构 { Int key;//存放关键字 Struct TreeNode*left;//存放左子树的指针 Struct TreeNode*right;//存放右子树的指针 }treeNode; 3、程序的主要流程图 否 是 4、程序的主要模块,要求对流程图中出现的模块说明 *建立二叉树,用插入函数依次插入用户输入的序列,最后再中序遍历并输出显示 *结点的插入,运用递归算法进行结点的插入 *结点的删除,是该算法中较为复杂的一个模块,需判定用户输入的结点是根,还是叶子,这关系到删除的结点在序列中的位置 *结点的查找,在根指针所指二叉排序树中递归查找关键字等于 key 的数据元素; 若成功,返回指向该数据元素结点的指针; 否则返回空指针; 1)主函数模块 Main() { 建立n个关键字的二叉排序树并输出; 从二叉树排序树中删除任意结点 ; 在二叉树排序树中,插入一个结点 ; 在二叉排序树中递归查找关键字 ; } 2)创建二叉排序树模块 treeNode* buildTree(treeNode* head,int number) { 建立n个关键字的二叉排序树; 从键盘输入调建立n个关键字依次用insertTree(int key) ; 返回根结点 ; 输出过程; } 3)删除模块 deleteTree(int key) { 从二叉树排序树 中删除任意结点 ; 可以实现删除根结点、叶子结点以及其它任意结点的功能; 1. 若结点p是叶子,则直接删除结点p; 2. 若结点p只有左子树,则只需重接p的左子树; 若结点p只有右子树,则只需重接p的右子树; 3. 若结点p的左右子树均不空,则 a查找结点p的右子树上的最左下结点(若为s) 以 及该结点 的双亲结点par; b将结点s数据域替换到被删结点p的数据域; c若结点p的右孩子无左子树,则将s的右子树接到par的右子树上;否则,将s的右子树接到结点par的左子树上; d删除结点s; } 4)插入模块 void insertTree(int key) { 在二叉树排序树中,插入一个结点s(递归算法); 被CreatBST函数调用;} 5)查找模块 treeNode* searchTree(int key) { 在根指针所指二叉排序树中递归查找关键字等于 key 的数据元素; 若成功,返回指向该数据元素结点的指针; 否则返回空指针; } 程序的主要函数及其伪代码说明 treeNode* BiSortTree::buildTree(treeNode* head,

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片

“原创力文档”前称为“文档投稿赚钱网”,本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有【成交的100%(原创)】。原创力文档是网络服务平台方,若您的权利被侵害,侵权客服QQ:3005833200 电话:19940600175 欢迎举报,上传者QQ群:784321556