- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(定稿)2014最新电子版实验报告
合肥师范学院实验报告
姓名: 课程名称:数据结构
院(系):计算机学院 专业/年级:2013级计算机科学与技术(嵌入式应用技术)
实验二 ——树
实验目的
掌握二叉树的动态存储结构--二叉链表;
掌握二叉树的三种遍历方法;
会运用三种遍历的方法求解有关问题。
实验预习内容
请在上机前认真阅读教材及实验指导书,并在以下空白处填写相应的内容。
请写出二叉链表的创建算法。
void CreateBTnode(BTNode *b,char *str)
{BTNode *St[MaxSize], *p=NULL;
int top=-1,k,j=0;
char ch;
b=NULL;
请写出二叉树的遍历算法:
先序遍历
void preorder(Bnode *T)
{if (T!=NULL)
{visite(T);
preorder (T-lchild);
preorder (T-rchild);}}
中序遍历
void inorder(Bnode *T)
{if (T! =NULL)
{inorder(T-lchild);
visite(T);
inorder(T-rchild);}}
后序遍历
void postorder (Bnode *T)
{if (T! =NULL)
{postorder(T-lchild);
postorder(T-rchild);
visite(T);}}
请写出计算二叉树高度的算法。
int BTNodeDepth(BTNode *b)
{int lchildep,rchildep;
if(b==NULL)
return(0);
else
{lchildep=BTNodeDepth(b-lchild);
rchildep=BTNodeDepth(b-rchild);
return(lchildeprchildep)?(lchildep+1:rchildep+1);}}
请写出计算二叉树叶子结点数的算法。
int LeafNodes(BTNode *b)
{int num1,num2;
if (b==NULL)
return 0;
else if(b-lchild==NULL b-rchild==NULL)
return 1;
else {num1=LeafNodes(b-lchild);
num2=LeafNodes(b-rchild);
return(num1+num2);}}
上机实验
实验内容。
以二叉链表作存储结构,建立一棵二叉树;
输出该二叉树的先序、中序、后序遍历序列;
求出该二叉树的高度,并统计其叶子结点数。
#include stdio.h
#include malloc.h
#define Maxsize 100
typedef struct node
{
char data;
struct node *lchild;
struct node *rchild;
} BTNode;
void CreateBTnode (BTNode *b,char *str)
{
BTNode *st[Maxsize],*p=NULL;
int top=-1,k=1,j=0;
char ch;
b=NULL;
ch=str[0];
while (ch!=\0)
{
switch (ch)
{
case (:top++;st[top]=p;k=1;break;
case ):top--;break;
case ,:k=2;break;
default:p=(BTNode *)malloc(sizeof(BTNode));
p-data=ch;p-lchild=NULL;p-rchild=NULL;
if (b=NULL)
b=p;
else
{
switch(k)
{
case 1:st[top]-lchild=p;break;
case 2:st[top]-rchild=p;break;
}
}
}
j++;
ch=st
您可能关注的文档
- ((教科版))[[初三政治试题]]教科版九年级政治专题复习资料.doc
- (09数控模具高级班)期末考试题(A卷)模版(16K).doc
- (113页)Word解析版备战2012中考英语单选全攻略(近600题).doc
- (12 网译版)无用知识的有用性.pdf
- (2013修订版概论思考题答案.doc
- (maggie雅茹版+课程链接)-小姜老师Issue课笔记完整版.pdf
- (PEVC孙培源)投资条款模板中文版.pdf
- (PPT版)一级新增语法点以及全日文解.ppt
- (shanghai沪教版)数学四年级第一学期期末复习综合卷.doc
- (word版)宿州市2012届高三第三次教学质量检测语文试题及答案.doc
文档评论(0)