wordpress网站主题,网页设计模板中国素材,聊城市网站建设,哪里做企业网站int size 0;
void btreesize(BTNode* point)//节点数
{if (point NULL){return;
}else{size;}btreesize(point-left);btreesize(point-right);}
求树的节点数#xff0c;递归思路为首先创立一个全局变量避免其在函数内部成为局部变量#xff0c;然后当走到空树的时… int size 0;
void btreesize(BTNode* point)//节点数
{if (point NULL){return;
}else{size;}btreesize(point-left);btreesize(point-right);}
求树的节点数递归思路为首先创立一个全局变量避免其在函数内部成为局部变量然后当走到空树的时候返回其余情况次数加一然后进行递归调用
int btreeleavesize(BTNode* point)
{if(pointNULL){return 0;}if (point-left point-rightpoint-leftNULL){return 1;}return btreeleavesize(point-left) btreeleavesize(point-right);
}
求树的叶子数当左右节点相等且为空时为叶子节点这里是递归调用的第二种方法如果没有变量改变则要在每一种情况下都进行return
int treeheight(BTNode* point)
{if (point NULL){return 0;}int left treeheight(point-left);int right treeheight(point-right);return left right ? left 1 : right 1;
}
求树的高度思路为找到左右节点的最大节点再加一而找左右节点时进行递归操作进行比较而这里运用了left和right两个中间变量大大减少了递归调用的次数所以当我们在使用递归运算时尽量使用中间变量而且此中间变量必须在递归运算中调用