首页 > 编程知识 正文

二叉树的结构,完全二叉树怎么理解

时间:2023-05-06 18:57:52 阅读:161023 作者:2762

之前介绍了树。

闲话不多说,现在直接看看二叉树吧。

1.二叉树的定义

2.二叉树的五种基本形态

1 .空二叉树是空的(空的)。

2 .根只有一个

3 .只有左边的子树,没有右边的子树

4 .只有右边的子树,没有左边的子树

5 .如图所示在左右两侧

3.平衡二叉树

平衡二叉树不一定是对称的。

用树的最高高度-树的最低高度不能大于1,这样的树就称为平衡二叉树。

图:

图中树的最高高度为4,最低高度为3,4-3=1,1不大于1。

因此,如果差在1以下,都是平衡的二叉树。

否则就是非平衡二叉树。

4.斜树

5.满二叉树

如图所示,这棵树有四层,那四层必须全部填满。 所以被称为二叉树。

如果有n层,它的n层全部都得是满的。

6.完全二叉树

每行必须从左到右按顺序排列。

法则如下。

7.二叉树的性质

都是公式,是通过找规则引导的。 可以直接记忆。

8.二叉树适用的存储结构

顺序存储结构只适合平衡树的存储。

除了完全二叉树、平衡二叉树或者满二叉树,其他的一般都用链式存储结构。

二、 二叉树的遍历

1.前序遍历

DLR、D--根节点、L--根左子树的节点、R--根右子树的节点从根节点开始,按照DLR的顺序判断各节点。2.中序遍历

中顺序为LDR,L--根左子树的节点、D--根节点、R--根的右子树的节点从根节点开始,各节点按LDR的顺序判断。 如图所示,如果a位于中顺扫描的开头,则表示该树没有左子,如果a位于中顺扫描的最后,则表示该树没有右子,为3.后续遍历

LRD、L--根的左部分树的节点、R--根的右部分树的节点、D--根节点从根节点开始,各节点按照LRD的顺序判断。4.层序遍历

层序遍历按层从左到右按1.深优一般基于栈实现,广优一般基于队列实现

2.前序和后序推不出一颗唯一的二叉树。

实现暂存器中顺序扫描:1.从根节点开始,将根节点的左子和其子代的左子长(一直是左子长)…) )最左列)放入暂存器,直到左树中没有下一个节点。 2 .启动堆栈。 如果堆栈顶部的节点没有左节点和右节点,则堆栈自身。 否则,先把自己叠起来,再叠右边孩子和右边孩子所有的左边。 然后又离开堆栈。 3 .出栈顺序为遍历顺序队列实现层序遍历。 1 .根节点开始排队2 .根节点排队,根节点左右子女排队,再排队3 .与其他节点一样,对该节点左右子女排队,再排队4 .排队顺序为层序

不断学习后,我会补充。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。