问题

键盘输入一颗二叉树,求解其叶子结点个数。

示例:

输入:4,2,6,1,3,5

输出:3

方法

一棵树当中没有子结点(即度为0)的结点称为叶子结点,简称“叶子”。当二叉树为空时直接返回0,当二叉树只有一个根,但是无左右孩子时,根节点就是一个叶子节点。

代码清单 二叉树叶子结点问题python代码

def leaf(self,root):

if root==None:

return 0

elif root.left==None and root.right==None:

return 1

else:

return  (self.leaf(root.left)+self.leaf(root.right))

tree=Tree()

tree.add(1)

tree.add(2)

tree.add(3)

tree.add(4)

tree.add(5)

tree.add(6)

tree.add(7)

tree.add(8)

tree.add(9)

print(" ")

print("叶子节点的个数为:")

num=tree.leaf(tree.root)

print(num)

结语

本次我们用代码解决了二叉树求叶子结点的问题,用代码表述没有想象的容易,最后通过add方法求解,代码不够简略,我们会继续努力的。后续可能还是根据课程内容进行创作。

Python实现统计二叉树叶子结点个数相关推荐

  1. c语言实现求二叉树叶子结点个数

    通过递归求解二叉树叶子结点个数,关键在于递归结束条件的设置. main.c #include<stdio.h>//定义结点类型 typedef struct BINARYNODE {cha ...

  2. 数据结构-二叉树(统计二叉树的结点个数递归与非递归算法)

    文章目录 思路 Java 实现 思路 求结点个数为什么能用递归? 二叉树求结点个数,从根结点开始,求二叉树结点个数,对于根结点就是求左右子树所有结点数之和再加一,对于左右子树又是如此计算,这样的形式满 ...

  3. 31行代码AC——PTA 求二叉树的叶子结点个数 (20分)——解题报告

    励志用尽量少的代码做高效的表达. 以二叉链表作为二叉树的存储结构,求二叉树的叶子结点个数. 输入格式: 输入二叉树的先序序列. 提示:一棵二叉树的先序序列是一个字符串,若字符是'#',表示该二叉树是空 ...

  4. 二叉树的进阶操作---(求二叉树中所有结点个数,求叶子结点个数,求第k层结点个数;在二叉树中查找某一结点;层序遍历;判断是否为完全二叉树)

    typedef struct TreeNode {struct TreeNode *left;struct TreeNode *right;char val; }TreeNode;typedef st ...

  5. 入门二叉树,三种遍历,计算结点个数 ,深度 叶子结点个数,第k层结点个数

    1.关于二叉树的前中后序快速排序 那就在这里拿这张图来演示一下怎样快速写出中序遍历,我们都知道中序遍历是,左子树,根,右子树 B A C D E F H 最后直接得出结果DBEHACF 2.二叉树的五 ...

  6. 计算二叉树的第k层中所有叶子结点个数

    计算二叉树的第k层中所有叶子结点个数 Time Limit:1000MS Memory Limit:65535K 题型: 编程题 语言: 无限制 描述 二叉链表表示的二叉树:按先序次序输入二叉树中结点 ...

  7. 【数据结构】——二叉树的创建、计算叶子结点个数、递归遍历

    前面我们讲了关于数据结构中的堆栈问题,这篇文章主要是为大家简要介绍一下二叉树,并实现二叉树的创建.计算叶子结点个数.递归遍历.判断是否是完全二叉树等相关问题~ 一.二叉树的介绍 1.什么是二叉树 一棵 ...

  8. 树与二叉树——二叉树中计算叶子结点个数问题

    1.已知完全二叉树具有967个结点,则其叶子结点个数为: 详解: 首先明确一点该二叉树是一棵二叉树,那可以使用二叉树的一些性质. 从第一层开始计算每层的节点个数:1,2,4,8,16,32,64,12 ...

  9. 统计孩子兄弟表示法森林中叶子结点个数

    算法思路 孩子兄弟表示法,即二叉树中,结点A的左指针代表A的孩子结点,A的右指针代表A的兄弟结点,当A为根结点时,则A的右指针表示另一棵树中的根结点,此时二叉树表示为森林.叶子结点的定义为:度为0的结 ...

  10. 【数据结构·考研】二叉树叶子结点的个数

    二叉树叶子结点的个数 非递归的求法,用广度优先遍历,每出队一个结点,判断它是不是叶子结点.递归的做法,先由上自下遍历,等遍历到叶子处再逐层返回左右子树的叶子结点总和,最后得到整棵树的叶子结点数. 那么 ...

最新文章

  1. 使用三防漆来保护PCB的敷铜面
  2. Zend Framework 的 PHP 编码标准
  3. 攻防世界-web-i-got-id-200-从0到1的解题历程writeup
  4. amd一点也不yes_最不值得买的高端显卡!RTX3080从真香变成了鸡肋?
  5. 8.使用Exists监控ZNode的三大Change事件
  6. 【spring】【转】Spring 框架的设计理念与设计模式分析
  7. 去哪儿-14-vuex_localstorage
  8. Linux软件安装的几种方法 (三)—— 源码安装
  9. Python多线程编程基础2:如何创建线程
  10. 帮忙做c语言作业,c语言..题目.帮忙做一下
  11. 千万58招聘人员的选择值得信赖-米苏 58自动循环发帖器
  12. 思维导图是如何做会议记录的
  13. 数据结构与算法必备的 50 个代码实现。
  14. 用计算机弹出古诗,电脑屏保不断变化的诗句
  15. Unity中游戏的存档与读档
  16. 如何识别图片文字,PaddleOCR机器学习开源项目使用 | 机器学习
  17. MapReduce当中的计数器
  18. 【网络】IP地址计算
  19. python制作微信小程序_python搭建微信小程序
  20. 越狱设备装 ipa包

热门文章

  1. TSP问题详解(旅行商问题)
  2. postman下载excel出现乱码
  3. 大学c语言题库 答案,天津城建大学C语言题库附答案.doc
  4. java定时任务之quartz
  5. 求助fax4j,发送和接收传真
  6. 模拟人生4极乐净土mod_如何在《模拟人生4》中下载Mod
  7. js爬取网页文字图片 html爬取网页信息
  8. VBA学习笔记五---如何将宏代码进行共享(加载宏)
  9. Day 177/200 React 颜色选择器
  10. 计算机网络与通信技术教案,计算机网络技术教案