




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机科学与工程学院算法与数据结构实验报告九专业班级2013网络工程01实验地点423机房学生学号指导教师赵卿松学生姓名实验时间实验项目查找技术综合应用实验类别基础性()设计性()综合性()其它()实验目的及要求(1)熟练掌握查找的常用算法;(2)设计和应用查找算法解决比较简单的实际问题。成绩评定表类别评分标准分值得分合计上机表现积极出勤、遵守纪律按要求完成设计任务30分程序与报告程序代码规范、功能正确报告详实完整、体现收获70分说明评阅教师赵卿松计算机科学与工程学院算法与数据结构实验报告2日期2015年6月13日实验内容计算机科学与工程学院算法与数据结构实验报告3实验内容二叉排序树。任意给定一组数据,设计一个算法,建立一棵二叉排序树,对它进行查找、插入、删除等操作。实验说明二叉排序树存储结构如下TYPEDEFSTRUCTBITNODE/结点结构STRUCTBITNODELCHILD,RCHILD/左右孩子指针BITNODE,BITREE二叉排序树插入算法伪代码如下1若ROOT是空树,则将结点S作为根结点插入;否则2若SDATAROOTDATA,则把结点S插入到ROOT的左子树中;否则3把结点S插入到ROOT的右子树中。二叉排序树中删除一个结点F的左孩子结点P算法伪代码如下1若结点P是叶子,则直接删除结点P;2若结点P只有左子树,则只需重接P的左子树;若结点P只有右子树,则只需重接P的右子树;3若结点P的左右子树均不空,则31查找结点P的右子树上的最左下结点S以及结点S的双亲结点PAR;32将结点S数据域替换到被删结点P的数据域;33若结点P的右孩子无左子树,则将S的右子树接到PAR的右子树上;否则,将S的右子树接到结点PAR的左子树上;34删除结点S;实验内容计算机科学与工程学院算法与数据结构实验报告4INCLUDEINCLUDEINCLUDEDEFINEMAX100TYPEDEFINTKEYTYPETYPEDEFSTRUCTNODEKEYTYPEKEYSTRUCTNODELCHILD,RCHILDBSTNODEINTINSERTBSTBSTNODEPKEYKPLCHILDPRCHILDNULLRETURN1ELSEIFKPKEYRETURN0ELSEIFKKEY计算机科学与工程学院算法与数据结构实验报告5RETURNINSERTBSTPLCHILD,KELSERETURNINSERTBSTPRCHILD,KBSTNODECREATEBSTKEYTYPEA,INTN/创建二叉排序树BSTNODEBTNULLINTI0WHILEIKEYKRETURNBTIFKKEYRETURNSEARCHBSTBTLCHILD,KELSERETURNSEARCHBSTBTRCHILD,K计算机科学与工程学院算法与数据结构实验报告6VOIDCHARUBSTNODEPRINTF“请输入你要插入的元素“SCANF“D“,INSERTBSTBT,NVOIDCHAZHAOBSTNODEBTSYSTEM“CLS“/清屏INTKBSTNODEAPRINTF“请输入要查找的元素“SCANF“D“,ASEARCHBSTBT,KIFANULLPRINTF“找到了元素DN“,KELSEPRINTF“找不到该元素N“VOIDSHURUBSTNODE/清屏INTM,AMAX0,IPRINTF“请输入二叉排序树中元素的个数N“SCANF“D“,NMFORI0ILCHILDPRINTF“D“,BKEYPRINT1BRCHILDVOIDPRINTBSTNODEB计算机科学与工程学院算法与数据结构实验报告8SYSTEM“CLS“/清屏PRINT1BINTDELETEBSTBSTNODEPT/从根结点开始查找PPARENTNULL/T的双亲为NULLWHILEP/开始查找关键字为X的结点P,及双亲PPARENTIFXPKEYBREAKPPARENTPPXPKEYPRCHILDPLCHILDIFPNULLPRINTF“要删除的结点不存在N“RETURN0/至此已找到目标结点P/PCHILENODEP存在的孩子或NULL,左右都存在时,取左PCHILENODEPLCHILDNULLPLCHILDPRCHILDIFPLCHILDNULL|PLCHILDNULL计算机科学与工程学院算法与数据结构实验报告9IFPPARENTNULLTPCHILENODEELSEIFPPPARENTLCHILDPPARENTLCHILDPCHILENODEELSEPPARENTRCHILDPCHILENODEFREEP/释放空间/当2个孩子都存在时ELSE/PCHILENODE已指向PLCHILDQPWHILEPCHILENODERCHILD/在P的左字树中查找中序P的前驱PCHILENODE,Q为其双亲QPCHILENODEPCHILENODEPCHILENODERCHILDPKEYPCHILENODEKEY/P的前驱PCHILENODEDE的关键值赋给PIFQP/将删除P转化为删除PCHILENODEDE最多只有左子树结点QRCHILDPCHILENODELCHILD/P的左子树有右孩子计算机科学与工程学院算法与数据结构实验报告10ELSEQLCHILDPCHILENODELCHILD/P的左子树有右孩子FREEPCHILENODERETURN1VOIDSHANCHUBSTNODE/清屏INTK,IPRINTF“请输入你要查找的元素“SCANF“D“,IDELETEBSTBT,KIFI0PRINTF“删除不成功N“ELSEPRINTF“删除成功N“VOIDMENUSYSTEM“CLS“/清屏计算机科学与工程学院算法与数据结构实验报告11PRINTF“N菜单NN“CHARA50“1输入二叉排序树“CHARB50“2查找“CHARC50“3删除“CHARD50“4插入“CHARE50“5显示“CHARF50“6退出“PRINTF“T35S35SNNT35S35SNNT35S35SNN“,A,B,C,D,E,FPRINTF“N“PRINTF“请选择你要执行的操作对应的序号N“VOIDMAININTNINTAMAX0PRINTF“二叉排序树NN“PRINTF“T本程序可以实现对一组数据进行查找、插入、删除等操作。NN“BSTNODEENULLFOR/无限循环/计算机科学与工程学院算法与数据结构实验报告12PRINTF“按任意键进入主菜单。“GETCHMENU/显示菜单/INTNINTI100/初始化/FFLUSHSTDIN/清空输入缓冲区/SCANF“D“,IFI0BREAK/输入记录/CASE2CHAZHAOEBREAKCASE3SHANCHUEBREAKCASE4CHARUEBREAKCASE5PRINTEBREAKCASE6E
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医用护理技术题库及答案解析
- 潍坊专职安全员c证题库及答案解析
- 《安全护我成长》测试题及答案解析
- 投资顾问从业资格考试及答案解析
- 2025年国考真题试卷及答案
- 康复医学治疗技术(副高级职称)试卷及答案详解
- 2025年普通外科副高真题及答案
- 2025年考研英语二真题及答案
- 计算机应用基础统考试题及答案
- 2025年保安员证考试备考真题及答案
- DB45-T 1696-2018危岩防治工程技术规范-(高清可复制)
- 喷砂检验报告
- 旅游英语ppt课件(完整版)
- DB32-T 4062-2021城市轨道交通工程质量验收统一标准-(高清现行)
- 城乡融合发展的做法和经验乡村振兴培训课件
- 最新肛肠科临床诊疗指南
- 供应商分级的管理制度管理办法
- 义务教育《语文》课程标准(2022年版)
- T∕CTWPDA 06-2019 橡胶木指接拼板
- 职高数学各章节知识点汇总
- 完整版_第八版内科冠心病课件
评论
0/150
提交评论