全文预览

杭电软件技术基础实验报告

上传者:相惜 |  格式:docx  |  页数:25 |  大小:517KB

文档介绍
;Р5.熟悉软件功能的分析设计方法和测试方法。Р二.功能分析与设计Р1. 创建一棵二叉排序树(以下称为源二叉树)。Р算法实现:创建方法与实验一相同,这里不做叙述。РР2. 从源二叉树拷贝一个二叉树(以下称为二叉树副本)。Р算法实现:首先判断二叉树是否为空,若二叉数为空,则没有任何操作;若二叉树不为空,开辟内存空间,依次复制根节点,左子树和右子树,至此完成二叉树的复制。Р部分代码如下:РTnode *mycopy(Tnode*r){ //二叉树的复制 Р if(!r) return NULL; Р?Tnode*copyr=(Tnode*)malloc(sizeof(Tnode)); Р?copyr->data=r->data; Р?copyr->lchild=mycopy(r->lchild); Р?copyr->rchild=mycopy(r->rchild); Р?return copyr; Р};РР3. 通过键盘输入数据,指定查找的目标二叉树(源二叉树和二叉树副本),在目标二叉树中查找是否存在该数据,若存在,则输出提示以及该数据节点的地址,若不存在,则输出提示。Р算法实现:首先,通过定义变量k,选择查找哪一棵树。k=1,表明在源二叉树中查找;k=2,表明在二叉树副本中查找;k=其他值,提示“选择错误”,并且重新输入,直到查找的二叉树为源二叉树或副本。Р因为需要在目标二叉树中查找是否存在某数据,所以要定义一个查找节点的函数。这里编写了search函数,首先判断根节点数值与要查找数值是否相等,若等,则输出找到;若不等,则对左子树、右子树递归调用上面函数。Р部分代码如下:РTnode *search(Tnode *r,int key){ //在二叉排序树中查找值为key的节点 Р? if(r==NULL) Р??{

收藏

分享

举报
下载此文档