树与二叉树
本节主要介绍了:树及二叉树的定义、树的相关概念、二叉树的性质、满二叉树和完全二叉树、二叉树的存储结构、最优二叉树、二叉树的遍历和二叉查找树
其中二叉树性质中介绍了相关计算公式
树的定义以及相关概念、
树的定义
树的相关概念
二叉树的定义以及性质
二叉树的定义
二叉树例图:
二叉树的性质
满二叉树和完全二叉树
二叉树的存储结构
顺序存储
如左图:当二叉树作为完全二叉树时,二叉树中的元素按照从左至右的顺序在存储空间中按照顺序排列
如右图:当二叉树并不是完全二叉树时,二叉树中的元素必须按照完全二叉树的顺序进行存储,空结点的地方也必须留下存储空间
这种方式存储会浪费存储空间
链式存储
(a) 二叉树:图中的二叉树为非完全二叉树
(b) 二叉链表:在图b中,当一个节点具有两个子结点的时候,分别会在前后两个空间上存储子节点的信息,如果只有一个子结点,则会在(左/右)子结点的地方存储信息,另一个空结点则为空(二叉链表的缺点是不能溯源父母节点)
(c) 三叉链表:三叉链表与二叉链表类似,只是多出了一个空间存储父母结点信息,可以进行溯源
最优二叉树
最优二叉树中的几个概念:权、路径长度、结点的带权路径长度和树的带权路径长度
例图:
通过计算树的带权路径长度可以得出b图为最优二叉树
如何构造最优二叉树
例:
二叉树的遍历
重点为中序遍历法
例:
二叉查找树
例:
二叉查找树中只要有子树,所有子树的左侧必须小于根结点,右侧必须大于根结点