华南农业大学信息学院数据结构--课程设计报告.doc

华南农业大学信息学院数据结构--课程设计报告.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
华南农业大学信息学院数据结构--课程设计报告

华南农业大学信息学院 设计性、综合性实验 起止日期:学院 信息学院 专业班级 学号 姓名 实 验 题 目 实现二叉排序树的各种算法 √设计性 □综合性 自 我 评 价 项 目 算法设计 独立完成情况 算法熟练程度 测试通过 成功 失败 独立 帮助 掌握 了解 不懂 创建一棵空的二叉排序树 √ √ √ √ 插入新结点 √ √ √ √ 前序、中序、后序遍历二叉树 √ √ √ √ 中序遍历的非递归算法 √ √ √ √ 层次遍历二叉树 √ √ √ √ 在二叉树中查找给定关键字 √ √ √ √ 交换各结点的左右子树(选做) √ √ √ √ 求二叉树的深度(选做) √ √ √ √ 叶子结点数(选做) √ √ √ √ 输出树型结构(选做) 成绩 A---------完成实验要求的全部功能并运行通过,算法有一定的新意,程序代码符合书写规范,实验报告叙述清晰完整,有详尽的分析和总结。 B---------完成实验要求的全部功能,程序代码符合书写规范,实验报告叙述 清晰完整。 C---------完成实验要求的大部分功能,实验报告良好。 D---------未按时完成实验,或者抄袭。 教师签名 实验四上机实习报告 专业班级:学号 姓名: 完成日期:问题的描述: 用函数实现如下二叉排序树算法: (1) 插入新结点 (2) 前序、中序、后序遍历二叉树 (3) 中序遍历的非递归算法 (4) 层次遍历二叉树 (5) 在二叉树中查找给定关键字(函数返回值为成功1,失败0) Input 第一行:准备建树的结点个数n 第二行:输入n个整数,用空格分隔 第三行:输入待查找的关键字 第四行:输入待查找的关键字 第五行:输入待插入的关键字 Output 第一行:二叉树的先序遍历序列 第二行:二叉树的中序遍历序列 第三行:二叉树的后序遍历序列 第四行:查找结果 第五行:查找结果 第六行~第八行:插入新结点后的二叉树的先、中、序遍历序列 第九行:插入新结点后的二叉树的中序遍历序列(非递归算法) 第十行:插入新结点后的二叉树的层次遍历序列 数据结构的设计: 为了方便移动使用链表来存储二叉树,因此设计如下数据类型表示二叉树: typedef struct BiTNode //生成树的结构体 { ElemType key; struct BiTNode *left,*right; //左右孩子指针 }BiTNode,*BiTree; int main() { BiTree T; ElemType search1,search2,insert; T=CreateBiTree(); //建立二叉树 scanf(%d %d %d,search1,search2,insert); PreOrderTraverse(T); //先序遍历 printf(\n); InOrderTraverse(T); //中序遍历 printf(\n); PostOrderTraverse(T); //后序遍历 printf(\n); if(searchBiT(T,search1)==NULL)//查找函数 printf(0\n); else printf(1\n); //对第一个关键字进行查找 if(searchBiT(T,search2)==NULL) printf(0\n); else printf(1\n); //对第二个关键字进行查找 T=InsertBiT(T,insert); //插入一个新结点 PreOrderTraverse(T); //对插入后的新树进行先序遍历 printf(\n); InOrderTraverse(T); //对插入后的新树进行中序遍历 printf(\n); PostOrderTraverse(T); //对插入后的新树进行后序遍历 printf(\n); InOrderTraverseII(T); //对插入后的新树进行中序遍历(非递归算法) printf(\n); LevelOrderTraverse(T); //对插入后的新树进行层次遍历 return 0; } 函数功能、参数说明及概要设计: CreateBiTree();//创建二叉树函数,返回成功与否

文档评论(0)

qwd513620855 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档