学习进度表——第十周 实验七 二叉树的查找
第十周
日期:2020年5月9日
学习计划:
学习时间 | 计划目标 | |
周一 |
60min |
复习上周的学习知识(树和二叉树) |
周二 | 120min | 巩固当天学习的知识(哈夫曼树) |
周三 |
60min |
完成慕课mooc上的本周测验和作业 |
周四 | 60min | 登录mooc,检查上节课慕课的作业和测验,修改错题。 |
周五 | 60min | 试着用本周所学到的知识编写一个结构体,来运行程序 |
周六 |
30min |
完成mooc上的作业互评 |
周日 | 30min | 在mooc上预习下节课内容(图) |
本周额外完成了实验
实验目的
1.理解二叉树的定义
2.掌握二叉树的链式存储结构
3.理解二叉树的递归结构
实验环境
安装VC6.0或Visual studio的PC机一台
实验内容
在二叉树中实现查找,若查找的元素在二叉树中存在,则得出该元素所在的层数,若不存在,则得出0。例如:在链式存储实现的二叉树中(如下图所示),查找元素,
(1)若查找元素“H”,则得出所在层数4;
(2)若查找元素“S”,则得出0,表示该元素在树中不存在。
其他要求如下:
(1)二叉树中存储的数据为字符类型数据;
(2)查找功能以函数方式进行定义与实现;
(3)二叉树采用链式存储结构。
int find(char ch,int level,BiTree tr) { int a; if(tr!=NULL) { if(ch==tr->data) return level; a=find(ch,++level,tr->lchild); if(a!=0) return a; else return find(ch,++level,tr->rchild); } else return 0; }