问答题
设两棵二叉树的根结点地址分别为p和q,采用二叉链表的形式存储这两棵树上所有的结点。请编写程序,判断它们是否相似。【上海交通大学2000年】【北京航空航天大学2005年】
【正确答案】正确答案:算法的基本设计思想:两棵空二叉树或仅有根结点的二叉树相似;对非空二叉树,可判左、右子树是否相似,采用递归的思想。算法的代码: int Similar(BiTree P,BiTree q){ //判断二叉树P和q是否相似 if(p==NULL&&q==NULL) return 1; else if(!P&&q I I p&&!q) return 0; else return Similar(P一>lchiid,q一>1chiid)&&Similar(P一>rchiid,q一> rchild); }//Similar
【答案解析】