网站大量收购闲置独家精品文档,联系QQ:2885784924

二叉树的基本操作及哈夫曼编译译码系统的实现讲述.docx

二叉树的基本操作及哈夫曼编译译码系统的实现讲述.docx

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实 验 报 告 (2015/2016学年 第2学期) 课程名称 数据结构A 实验名称 二叉树的基本操作及哈夫曼编译译码 系统的实现 实验时间 2016 年 4 月 13 日 指导单位 计算机科学与技术系 指导教师 骆健 学生姓名 班级学号 学院(系) 管理学院 专 业 信息管理与信息系统 实验一:二叉树基本操作 一、 问题陈述 在二叉链表上实现二叉树的建立、删除、求高度、求子叶节点数、左右交换、遍历等操作。 二、 概要设计 建立不同函数,分别实现二叉树的各项基本运算。 三、 详细设计 1.层次结构:文件一共需要5个函数。 文件中包含各个函数函数的声明。 分别是:status createbitree(bitree *t); status preordertraverse(bitree t); int height(bitree t); void swap(bitree *t); void leafcounts(bitree t); 2.核心算法: 主函数 四、 程序代码 #includeiostream.h #includemalloc.h #define FALSE 0 #define TRUE 1 #define OK 1 #define maxsize 100 typedef int status; typedef int elemtype; typedef struct binode { elemtype data; struct binode *lchild,*rchild; }binode,*bitree; status treecreated=FALSE; int leafcount=0; status createbitree(bitree *t); status preordertraverse(bitree t); int height(bitree t); void swap(bitree *t); void leafcounts(bitree t); void main() { int choice=0; status leave=FALSE,flag; binode *bt; cout===========二叉树演示程序===============endl; do { cout1:创建二叉树,按先序遍历结果输入endl; cout2:先序遍历二叉树,递归方式遍历二叉树 endl; cout3:求叶子数endl; cout4:计算二叉树的高度endl; cout5: 树进行左右翻转endl; cout0:退出endl; cout-------请输入:endl; cinchoice; switch(choice) { case 1: if(treecreated) { cout树还没有建立endl; break; }; cout请输入代表树的数字:endl; flag=createbitree(bt); if(flag==OK) { cout你已经建立了一棵树了!endl; treecreated=TRUE; } break; case 2: if(!treecreated) { coutsorry,you must create a tree for further steps!endl; break; } cout先序遍历顺序:endl; preordertraverse(bt); coutendl; break; case 3: if(!treecreated) { coutsorry,you must create a tree for further steps!endl; break; } leafcounts(bt); cout树的叶子数:leafcountendl; coutendl; break; case 4: int h; h=height(bt); cout树的高度:hendl; break; case 5: swap(bt); cout树已经翻转!!!endl; break; case 0: leave=TRUE; break; } }while(!leave); cout 再见endl; } s

文档评论(0)

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

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

1亿VIP精品文档

相关文档