专栏首页算法与编程之美Python|二叉树的简单介绍

Python|二叉树的简单介绍

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。

问题描述

二叉树是一种常见的数据结构类型,我们经常会遇见二叉树类型的题目,但是我们很多人对二叉树还是不是很清楚下面我们就来简单介绍一下二叉树。

解决方案

二叉树是一种简单的树形结构,其每个节点的分支节点数有0,1或2个。如下图T1,T2和T3是三棵二叉树。显然二叉树是一种递归的结构。

不包含任何节点的二叉树为空树,只有一个节点的二叉树称为单点树,一个节点的子节点的个数称为该节点的度。如果每个分支节点的度都为2,则称之为满二叉树。如果一棵二叉树,除最后一层外,其它层的节点都是满的,而最后一层节点在最左边连续排列,空位都在右边,这样的二叉树叫做完全二叉树。二叉树有三种遍历方式

前序遍历:按根节点、左子树、右子树的顺序遍历。 中序遍历:按左子树、根节点、右子树的顺序遍历。 后序遍历:按左子树、右子树、根节点的顺序遍历。

遍历二叉树代码示例:

class BinTNode:
 def __init__(self,dat,left=None,right=None):
 self.data=dat
 self.left=left
 self.right=right
 def preorder(t,proc):
    if t is None:
    return
    proc(t.data)
    preorder(t.left,proc)
    preorder(t.right,proc)

结语

二叉树是一种特殊的树型结构,它的特点是每个结点至多有两棵子树,且二叉树的子树有左右之分,其次序不能任意颠倒。

本文分享自微信公众号 - 算法与编程之美(algo_coding),作者:王曦

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-01-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python|实现二叉树

    在树的种类中,有这样一类树,它每个节点下面有两个新的左右节点(一般称为该节点的左右子树),且每个节点的子树有左右之分不能颠倒,这样的树叫做二叉树。接下来就用py...

    算法与编程之美
  • Java|Java生成Excel表

    最近遇到一个问题,就是在系统页面上加一个Excel表格导出的问题,这个问题很好解决啊,写一个JS把后台给的数据导出到Excel表格不就行了吗。然而当我们在测试的...

    算法与编程之美
  • 深入理解 TCP 协​议的握手和挥手

    TCP 协议是计算机网络 [1] 中运输层的重要协议,深入理解 TCP 协议能够帮助我们 更好的理解计算机网络的原理。而 TCP 协议在连接建立和连接释放的过程...

    算法与编程之美
  • 漫画:二叉树系列 第七讲(完全二叉树的节点个数)

    在上一篇中,我们学习了解了平衡二叉树,并且利用DFS进行了验证。在本节中,我们将继续学习完全二叉树的相关内容。首先了解一下什么是完全二叉树。

    程序员小浩
  • 基本算法|图解各种树(一)

    01 — 二叉树 节点的度数不超过2的树,称为二叉树,如下图所示: ? ? 02 — 单链和满二叉树 含n个节点,高度为h的二叉树中,满足如下关系: h <...

    double
  • 还分不清楚一些二叉树种类和概念?

    刚接触二叉树的学习的时候,相信很多人可能会被二叉树各种各样的叫法和概念给绕晕了,今天就来科普一下关于二叉树我们需要知道的一些树的种类,以及它的特点。

    我是攻城师
  • 完全二叉树判断,简单而复杂

    今天有个人问我如何判断一棵树是完全二叉树。我一下子想不出怎么解决这个问题,按照定义, 严蔚敏那本教材上的说法:一个深度为k,节点个数为 2^k - 1 的二叉树...

    李海彬
  • 6.8 树的计数

    1、称二叉树T和T’想似是指:二者都为空树或者二者均不为空树,且它们的左右子树分别想似。

    闫小林
  • 6.2 二叉树

    1、二叉树(Binary Tree)是另一种树型结构,它的特点是每个结点至多只有两棵子树(即二叉树中不存在度大于2的结点),并且,二叉树的子树有左右之分,其次序...

    闫小林
  • 求二叉树的深度和宽度

    题目: 输入一个二叉树的根节点,求该树的深度。从根节点到叶子节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度包含的节点数为为树的深度,即二...

    Dabelv

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动