1.二叉树名词解释

二叉树的定义:

二叉树是一种每个结点至多只有两个子树(即二叉树的每个结点的度不大于2),并且二叉树的子

树有左右之分,其次序不能任意颠倒。

树是使用了递归定义的数据结构,树的子树还是树,其结构如下图所示:

这里写图片描述

  • 度:结点拥有的子树数目,例如上图结点A的度为3,结点E的度为0
  • 叶子或终端结点:度为0的结点(没有子树的结点)
  • 树的度:各个结点中度的最大值
  • 孩子:结点的子树的根,称为根的孩子
  • 层次:根的层次为0,根的孩子为1,以此类推
  • 深度:树中结点的最大层次,称为树的深度

2.遍历二叉树

先序遍历:只经过一次就取值,先根 再左 再右。

先序遍历可以想象为,一个小人从一棵二叉树根节点为起点,沿着二叉树外沿,逆时针走一圈回到

根节点,路上遇到的元素顺序,就是先序遍历的结果。

先序遍历结果为:A B D H I E J C F K G

在这里插入图片描述

 中序遍历:经过两次才取值,先左 再根 再右。

中序遍历可以看成,二叉树每个节点,垂直方向投影下来(可以理解为每个节点从最左边开始垂直

掉到地上),然后从左往右数,得出的结果便是中序遍历的结果。

中遍历结果为:H D I B E J A F K C G

在这里插入图片描述

后序遍历 :经过三次才取值,先左 再右 再根。

后序遍历中,根节点默认最后面

后序遍历结果:H I D J E B K F G C A

在这里插入图片描述

3.代码展示:

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐