int GetMaxWidth(BinaryTree pointer){
int width[10];//加入这棵树的最大高度不超过10
int maxWidth=0;
int floor=1;
if(pointer){
if(floor==1){//如果访问的是根节点的话,第一层节点++;
width[floor]++;
floor++;
if(pointer->leftChild)
width[floor]++;
if(pointer->rightChild)
width[floor]++;
}else{
floor++;
if(pointer->leftChild)
width[floor]++;
if(pointer->rightChild)
width[floor]++;
}
if(maxWidth<width[floor])
maxWidth=width[floor];
GetMaxWidth(pointer->leftChild);
floor--;//记得退回一层,否则会出错。因为已经Get过了,所以要及时的返回。
GetMaxWidth(pointer->rightChild);
}
return maxWidth;
}
int GetMaxWidth(BinaryTree pointer){
if(pointer==null){
return 0;
}
Queue<BinaryTreeNode> queue=new ArrayDeque<BinaryTreeNode>();
int maxWidth=1;//最大宽度
queue.add(pointer);
while(true){
int size=queue.size();//计算当前层的节点的个数
if(size==0){
break;
}
while(size>0){//如果当前层还有节点就进行下去
BinaryTreeNode node=queue.poll();
size--;
if(node->leftChild)
queue.add(node->leftChild);//当前节点的左子树入队
if(node->rightChild)
queue.add(node->rightChild);//当前节点的右子树入队
maxWidth=Math.max(size,queue.size());
}
}
return maxWidth;//返回计算所得的最大的二叉树的宽度。
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有