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

C语言中计算二叉树的宽度的两种方式

创新互联于2013年创立,先为歙县等服务建站,歙县等地企业,进行企业商务咨询服务。为歙县企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

二叉树作为一种很特殊的数据结构,功能上有很大的作用!今天就来看看怎么计算一个二叉树的大的宽度吧。

采用递归方式

下面是代码内容:

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://scjbc.cn/article/hgish.html

其他资讯