数据结构:二叉树层次遍历进阶
发布时间
阅读量:
阅读量
先前发布的一篇博客
数据结构——二叉树的层次遍历阅读完毕后,能够较为轻松地完成以下问题的实践
问题:
- 确定二叉树的最大宽度,即在所有层级中找出节点数量最多的那一层。
- 采用逐层遍历的方式对二叉树进行处理,以计算出树中度数为1的节点总数。
解决问题的思路:
- 函数int BiTree_height1(BiTree T)的主要作用是确定树的深度值;
- void levelOrder( BiTree T);该函数用于生成一个数组width[totalLevel],用以存储各层的宽度信息;
- void printNodeAtLevel(BiTree T,int level,int *width,int static_level);参数包括指向宽度数组的指针以及静态表示的层数(由于level在递归过程中会被修改,因此需要单独设定)函数内部负责统计各层节点的数量;
- void levelOrder2(const BiTree T);该函数通过设置一个变量来计算单分支节点的数量;
- void printNodeAtLevel2(BiTree T,int level,int *single_branch);
核心代码段
int BiTree_he
全部评论 (0)
还没有任何评论哟~
