C语言南邮数据结构实验报告2,南邮数据结构实验报告.docx
南邮数据结构实验报告
实验报告 课程名称 实验名称数据结构二叉树基本操作以及哈夫曼编码译码系统 实验时间 指导单位指导教师年月日 学生姓名 学院(系) 班级学号专业 二叉树的基本运算: 一、问题描述 1.设计递归算法,实现二叉树的运算:删除一棵二叉树,求一棵二叉树的高度,求一棵二叉树中叶子节点数,复制一棵二叉树,交换一棵二叉树的左右子树 2.设计算法,自上而下,自左向右即按层次遍历一棵二叉树 3.设计main函数,测试上述每个运算 二、系统分析和概要设计 首先用maketree构造一棵二叉树,然后遍历二叉树,然后交换每个结点的左右子树,接着算出输得高度和叶子节点,最后删除。 三、详细设计 2.核心算法 建立二叉树的voidMakeTree(constT&x,BinaryTree&left,BinaryTree&right)和计算叶子节点的intSize(); 3.算法分析 删除一棵二叉树,求一棵二叉树的高度,求一棵二叉树中叶子节点数,复制一棵二叉树等都是用递归的方法实现。 四、程序代码 流程图 #include template structBTNode { }; template classBinaryTree { public: BTNode(){}BTNode(constT&x){}BTNode(constT&x,BTNode*l,BTNode*r){}Telement;BTNode*lChild,*rChild;element=x;lChild=l;rChild=r;element=x;lChild=rChild=NULL;lChild=rChild=NULL;BinaryTree(){root=NULL;}~BinaryTree(){Clear();}voidCopy(BinaryTree&r)const;boolIsEmpty()const{returnroot==NULL;}voidClear();voidExchange();boolRoot(T&x)const;intGetHeight();voidMakeTree(constT&x,BinaryTree&left,BinaryTree&right);voidBreakTree(T&x,BinaryTree&left,BinaryTree&right);voidPreOrder(void(*Visit)(T&x));voidLevelOrder(void(*Visit)(T&x));intSize();BinaryTree(BinaryTree&t) {}root=Copy(); //voidInOrder(void(*Visit)(T&x)); //voidPostOrder(void(*Visit)(T&x)); BTNode*Copy(BTNode*t);BTNode*root;staticintnumber;voidClear(BTNode*&t);voidExchange(BTNode*t);intGetHeight(BTNode*t);intSize(BTNode*t);voidPreOrder(void(*Visit)(T&x),BTNode*t);voidLevelOrder(void(*Visit)(T&x),BTNode*t);protected:private://voidInOrder(void(*Visit)(T&x),BTNode*t);//voidPostOrder(void(*Visit)(T&x),BTNode*t);}; template boolBinaryTree::Root(T&x)const { } template voidBinaryTree::Clear() { } template voidBinaryTree::Clear(BTNode*&t) { if(root){}elsereturnfalse;x=root->element;returntrue;Clear(root);if(t) 数据结构实验代码南邮实验课实验十各种算法性能比较 #include #include #include template voidswap(T&a,T&b) { Ttemp; temp=a; a=b; b=temp; } template//选择排序 voidSelectSort(TA[],intn) { intsmall; for(inti=0;i//直接插入排
C语言南邮数据结构实验报告2,南邮数据结构实验报告.docx相关推荐
- c语言三元组稀疏矩阵的转置实验报告,稀疏矩阵快速转置 数据结构实验报告
南昌航空大学实验报告 课程名称: 数据结构 实验名称: 实验五 稀疏矩阵的存储和快速转置 班 级: 学生姓名: 学号: 指导教师评定: 签 名: 题目:假设稀疏矩阵A采用三元组表表示,编写程序实现该矩 ...
- 二叉树的基本运算实验报告C语言,实验三 二叉树基本操作与应用实验
实验三 二叉树基本操作与应用实验 第三次实验主要包括两部分内容:1.二叉树基本操作实验:2.二叉树应用-赫夫曼树与赫夫曼编码实验.基本操作包括存储结构建立和遍历算法,本文只给出部分参考程序,请大家尽量 ...
- 南邮计算机实习单位,关于南邮实习工作的认识报告
关于南邮实习工作的认识报告 实习周的第一天,我随班来到了南邮本部,南邮认识实习报告.首先参观了软交换实验室.随着通信网络技术的飞速发展,人们对于宽带及业务的要求也在迅速增长,为了向用户提供更加灵活.多 ...
- 用python语言实现人工智能猴子摘香蕉的问题_人工智能实验报告大全:猴子摘香蕉问题的VC编程实现等八次.docx...
人工智能课内实验报告(8次)学 院: 自动化学院 班 级: 智能1501 姓 名: 刘少鹏(34) 学 号: 目 录课内实验1:猴子摘香蕉问题的VC编程实现--------1课内实验2:编程实现简单动 ...
- python语言程序设计实践教程答案实验六_20192417 实验一《Python程序设计》实验报告...
20192417 2019-2020-2 <Python程序设计>实验1报告 课程:<Python程序设计> 班级: 1924 姓名: 张家华 学号:20192417 实验教师 ...
- c语言实验转换字母顺序结构,实验1顺序结构的程序设计-实验报告.doc
实验1顺序结构的程序设计-实验报告 实验1 顺序结构的程序设计 每人在D盘建立自己的文件夹(学号+姓名)如D:\00001王菲,所编写的程序文件和实验报告就放在这个文件夹里,成果提交时将文件夹压缩传到 ...
- 分数计算器java报告_20182307 2019-2020-1 《数据结构与面向对象程序设计》实验四报告...
20182307 2019-2020-1 <数据结构与面向对象程序设计>实验四报告 课程:<程序设计与数据结构> 班级: 1823 姓名: 陆彦杰 学号:20182307 实验 ...
- 南京邮电大学c语言实验报告3v2,南京邮电大学操作系统实验报告
<南京邮电大学操作系统实验报告>由会员分享,可在线阅读,更多相关<南京邮电大学操作系统实验报告(20页珍藏版)>请在人人文库网上搜索. 1.通信与信息工程学院2015 / 20 ...
- c++语言程序设计教程与实验实验报告,C++程序设计课程设计实验报告—网络五子棋...
C++程序设计课程设计实验报告-网络五子棋 计算机学院 实验报告 课程名称: C++程序设计课程设计 开课学期: 2010-2011学年第2学期 院 班: 计算机学院 093 指导老师: 项目题目: ...
- c语言词法分析器实验原理,词法分析器的设计与实现 编译原理实验报告.doc
词法分析器的设计与实现 编译原理实验报告 中北大学软件学院 实 验 报 告 专 业 软件工程 课程名称 编译原理 学 号 姓 名 辅导教师 张静 成绩 实验日期2015.5.19实验时间14:00~1 ...
最新文章
- let 和 var 的区别
- k8s Dashboard部署Tomcat集群
- 张宏江:工程水平决定创新能力(转载于百度百科)
- 五大“领跑者”光伏基地概览
- Swift基础加强_跟我打500行
- 深入理解Linux-hostname
- 截短 UTF-8 字符串
- python的menu_Python Tkinter Menu使用教程 | 學步園
- 非好友怎么进qq权限空间
- 美国的卫星导航系统服务器,中国的北斗卫星和美国的gps到底哪个更厉害?
- 深度学习论文: Compounding the Performance Improvements of Assembled Techniques in a CNN及其PyTorch实现
- 一级计算机脚注怎么加,word怎么插入脚注 word添加脚注图文教程
- Excel打开csv文件乱码
- 计算机组成原理 课程设计报告
- Linux centOS系统备份还原(dd+rsync方式)
- android 游戏语言设置在哪里设置中文版,使命召唤手游语言变更方法 怎么设置中文...
- Altium Designer简介及使用流程
- 苹果手机解压缩软件_解压缩全能王app下载-解压缩全能王app手机版
- 多元线性回归matlab实现
- 让你的Android应用支持转移到SD卡