C语言中计算二叉树的宽度的两种方式-创新互联
C语言中计算二叉树的宽度的两种方式

二叉树作为一种很特殊的数据结构,功能上有很大的作用!今天就来看看怎么计算一个二叉树的大的宽度吧。
采用递归方式
下面是代码内容:
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(maxWidthleftChild);
floor--;//记得退回一层,否则会出错。因为已经Get过了,所以要及时的返回。
GetMaxWidth(pointer->rightChild);
}
return maxWidth;
} 另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前文章:C语言中计算二叉树的宽度的两种方式-创新互联
转载注明:http://www.jxjierui.cn/article/hgish.html


咨询
建站咨询
