正在加载图片...
1递归算害、根据后根遍历 ∥返回值:1完全二叉树、2满二叉树、0其他 int com(BiTree *T, int *h) f int h1, h2, k1, k2 if(T)i *h=0; return 2; 1 kI=com(T->lchild, &hl) k2-=com(T->rchild, &h2) *h=h1>h2?h1+1:h2+1 if (hl==h2) ∥右子树高度相等 if(k1=2&&k2=1) return1;∥左满二叉树,右完全二叉树 else if(k1=2&&k2=2) return2;∥左、右满二叉树,且等高度 else return O//递归算法,根据后根遍历 //返回值:1 完全二叉树、2 满二叉树、0 其他 int com(BiTree *T, int *h) { int h1,h2,k1,k2; if (!T) { *h=0; return 2; } k1=com(T->lchild , &h1); k2=com(T->rchild , &h2); *h=h1>h2? h1+1 :h2+1; if (h1==h2 ) //左右子树高度相等 if(k1==2 && k2==1) return 1; //左满二叉树,右完全二叉树 else if(k1==2 &&k2==2) return 2; //左、右满二叉树,且等高度 else return 0;
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有