二叉树的实现包括二叉树的构建,和二叉树的前中后序便利,二叉树的层序非递归遍历,求二叉树的总结点,求二叉树的最大深度和求二叉树的最大宽度,
因为实验主要是对二叉树的各个属性数据测量,所以这里手动链接了一颗二叉树.随后用调用函数接口传参二叉树的根节点测量二叉树的属性.
递归遍历很容易:
接下来是非递归:
选用层序遍历非递归,运用队列的数据结构辅助实现层序遍历;
然后是求最大深度:
总结点数和宽度:
用层序遍历的思想加一个计数器计算总节点.
最大宽度这里也是运用层序遍历的思想实现,只不过这里用了一个for循环控制队列的行为,使其满足要求.
测试结果符合预期
标签:遍历,递归,层序,宽度,实验,二叉树,数据结构 From: https://www.cnblogs.com/qjwxlj/p/17389504.html