求二叉树的宽度
来源:互联网 发布:只有我不在的城市 知乎 编辑:程序博客网 时间:2024/05/21 08:29
/*
名称:求二叉树的宽度
说明:此程序用的是层次遍历法。通过记录每一层的节点个数,在比较,得出最大一层的节点个数,即树的宽度。
*/
//求树的宽度(层次遍历法)int WidthOfTree(BiTree T){ queue<BiTNode *> _que; int most_width = 0,temp_width = 0; //前者用来记录最大的宽度 BiTNode *p = NULL,*lay_r = NULL; //lay_r用来记录每一层的最后一个结点 _que.push(T); lay_r = T; while(p != NULL || _que.empty() == false) { p = _que.front(); _que.pop(); if(p->lchild != NULL) _que.push(p->lchild); //左子树入栈 if(p->rchild != NULL) _que.push(p->rchild); //右子树入栈 if(p == lay_r) //如果是最后一个节点,则进行统计造作 { if(++temp_width > most_width) //此层的宽度是否大于以前最大的宽度 most_width = temp_width; if(_que.empty() == false) lay_r = _que.back(); else { lay_r = NULL; p = NULL; } temp_width = 0; } else { ++temp_width; } } return most_width;}
阅读全文
0 0
- 求二叉树的宽度
- 求二叉树的宽度
- 求二叉树的宽度
- 求二叉树的宽度
- 求二叉树的宽度
- 求二叉树的宽度
- 求二叉树的宽度
- 求二叉树的宽度
- 求二叉树宽度
- 二叉树 求宽度
- 求二叉树宽度
- 求二叉树宽度
- 求二叉树宽度的递归算法
- 求二叉树的深度和宽度
- 求二叉树的深度和宽度
- 求二叉树的高度和宽度
- 求二叉树的深度和宽度
- 求二叉树的深度和宽度
- java代码连接SQLServer2008的DBUtil代码
- HDU 1711 Number Sequence
- 重载与重写
- Base64的使用
- java线程安全
- 求二叉树的宽度
- 数据结构实验之图论六:村村通公路SDUT_3362
- 主机ping不同虚拟机的问题解决方案
- WPF通知窗口
- c++ string split分割字符串
- 字符型基础
- Gensim Word2vec 使用教程
- [codevs3123]大整数乘法(快速傅立叶变换FFT)
- js es6 promise用法