第十周 项目三 利用二叉树遍历思想解决问题(5)
来源:互联网 发布:纽约 伦敦 知乎 编辑:程序博客网 时间:2024/05/21 06:52
/* *Copyright (c)2015, 烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:Graph.cpp *作 者:苏凯祺 *完成日期:2014年12月18号 *版 本 号:v1.0 *问题描述:假设二叉树采用二叉链存储结构存储,分别实现以下算法,并在程序中完成测试: (5)判断二叉树是否相似(关于二叉树t1和t2相似的判断:①t1和t2都是空的二叉树,相似;②t1和t2之一为空,另一不为空,则不相似;③t1的左子树和t2的左子树是相似的,且t1的右子树与t2的右子树是相似的,则t1和t2相似。)*btreee.h见算法库 */ #include <stdio.h>#include "btree.h"int Like(BTNode *b1,BTNode *b2){ int like1,like2; if (b1==NULL && b2==NULL) return 1; else if (b1==NULL || b2==NULL) return 0; else { like1=Like(b1->lchild,b2->lchild); like2=Like(b1->rchild,b2->rchild); return (like1 & like2); }}int main(){ BTNode *b1, *b2, *b3; CreateBTNode(b1,"B(D,E(H(J,K(L,M(,N)))))"); CreateBTNode(b2,"A(B(D(,G)),C(E,F))"); CreateBTNode(b3,"u(v(w(,x)),y(z,p))"); if(Like(b1, b2)) printf("b1和b2相似\n"); else printf("b1和b2不相似\n"); if(Like(b2, b3)) printf("b2和b3相似\n"); else printf("b2和b3不相似\n"); DestroyBTNode(b1); DestroyBTNode(b2); DestroyBTNode(b3); return 0;}
运行结果:
0 0
- 第十周 项目三 利用二叉树遍历思想解决问题
- 第十周项目三:利用二叉树遍历思想解决问题
- 第十周项目三----利用二叉树遍历思想解决问题
- 第十周项目三-利用二叉树遍历思想解决问题
- 第十周-项目三 利用二叉树遍历思想解决问题
- 第十周项目三 利用二叉树遍历思想解决问题
- 第十周 项目三 【利用二叉树遍历思想解决问题】
- 第十周 项目三-利用二叉树遍历思想解决问题
- 第十周项目三 利用二叉树遍历思想解决问题
- 第十周 项目三 利用二叉树遍历思想解决问题(5)
- 第十周项目三 利用二叉树遍历思想解决问题(5)
- 第十周 项目三 利用二叉树遍历思想解决问题(1)
- 第十周 项目三 利用二叉树遍历思想解决问题(2)
- 第十周 项目三 利用二叉树遍历思想解决问题(3)
- 第十周 项目三 利用二叉树遍历思想解决问题(4)
- 第十周项目三 利用二叉树遍历思想解决问题(1、2、3、4)
- 第十周-项目3 - 利用二叉树遍历思想解决问题
- 第十周项目3-利用二叉树遍历思想解决问题
- 第十四周项目2-分块查找算法
- Java之美[从菜鸟到高手演变]之Exception
- 第十六周项目1 直接插入排序
- 学期末总结——我体会的翻转课堂
- 第16周项目插入排序之排序中输出每一趟的中间结果
- 第十周 项目三 利用二叉树遍历思想解决问题(5)
- 第十二周项目三----广度优先遍历
- 验证算法(6)堆排序
- 数据结构实践——(3)验证算法——二叉排序树相关算法
- 汇编指令---CDQ
- 第16周项目1 验证算法(6)堆排序
- 第13周项目验证算法(1)、(2)
- 第16周外部排序【项目-1】置换-选择算法模拟
- 第十六周上机实践—项目3—归并排序算法的改进