数据结构——二叉树的总结点个数,叶子结点个数,最大值,高度(包含c代码)

发布时间:2024年01月09日

前言

在上一章中,已经提到了二叉树的初始化,所以本篇遍不再提及。

接下来我们将学习如何求二叉树总结点,叶子结点个数,以及二叉树的最大值以及高度的求法,其实树中这些操作思想都很接近,都是从该结点,然后其左右子树,依次求下去即可,碰到空子树便是结束标志。接下来开始我们的主题(对比一下上一节树的思想,很容易就理解了)。

二叉树的高度?

二叉树的高度想想怎么求呢?(1,2,3……)

我相信你想出来了,那便是只要有左子树或者右子树他的高度就会+1,所以我们用l,r来记录左右两边子树的高度,选取数值大的一方即可,但是要注意加一,因为我们根结点也要算进去。

代码如下:

二叉树的总结点个数

思想很简单,就是遍历整个树,不为空的结点+1即可。

代码如下:

二叉树的叶子结点个数?

叶子结点通俗点就是需要左右指针都为空,不指向其他树。只要判断该点满足条件即+1,然后同样遍历该树。

代码如下:

二叉树的最大值?

还是一样的判断是否是空结点,空结点肯定就没有值存在。接着开始从左右子树两边开始寻找,用l,r来存储左右子树中的值,然后返回其中较大的值(如果该结点没有左右子树,便返回自己的值,在进行下去没有意义)。

代码如下:

以上便是今天的内容了,谢谢大家的支持与鼓励。

二叉树的代码很好理解,只要自己脑子里过一遍树怎样走的, 自己以后便能很轻松的写出自己想要的代码,这只是需要自己熟悉这个过程(好记心不如疯狂敲代码--- bang bang bang)。

又进步一小点哈哈哈哈哈哈,,明天坚持,遥遥领先不是梦~~

文章来源:https://blog.csdn.net/2302_76438931/article/details/135446100
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。