问答题 所有分支结点的度为2的二叉树称为正则二叉树,试用二叉链表做存储结构,编写一递归 函数int FormalTree(Bitree t),判断二叉树是否为正则二叉树。【北京理工大学2005四、2(5分)】
【正确答案】正确答案:二叉树的遍历是其各种算法的基础。三种遍历算法的差别仅在于访问根结点的时机不同。 “遍历左子树”和“遍历右子树”是递归调用,在递归调用中不能打开,只能改造“访问根结点”为需要服务。根据题目要求,若有度为1的结点,就结论为非正则二叉树。若顺利遍历完二叉树,就结论为是正则二叉树。将“访问根结点”改造如下: if(bt一>ichild&&!bt一>rchild || bt一>rchild&&!bt一>ichild) cout<<“非正则二叉树”<
【答案解析】