十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
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许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。