1.树的基本概念
树是一种非线性的数据结构,它是由n个有限节点组成的一个具有层次关系的集合。把它叫做树是因为它看起来像是一颗倒挂的树,根朝上而叶朝下。
- 父节点:若一个节点有子节点,那么它就是这些子节点的父节点
- 子节点:一个节点含有的子树的根节点称为子节点
- 根节点:没有父节点称为根节点
- 叶节点:没有子节点的称为叶节点
- 节点的度:一个节点含有的子树的个数称为该节点的度
- 树的度:一棵树中,最大的节点的度称为树的度
- 节点的层次:从根节点开始定义起,根为第一层,跟的子节点称为第二层,以此类推
- 树的高度或深度:树中节点的最大层次
- 堂兄弟节点:父节点为同一个节点的子节点互为兄弟节点
- 子孙:以某节点为根的子树中任一节点都称为该节点的子孙
2.二叉树
概念:二叉树是节点的一个有限集合,该集合可以为空。或者是由一个根节点加上两颗左右子树的二叉树组成。
二叉树的特点:
- 每个子节点最多有两颗子树。
- 二叉树的子树有左右之分,其子树的次序不能颠倒。
2.1满二叉树
所有叶节点都在同一层,且每一层的节点数都达到最大值。
2.2完全二叉树
完全二叉树是效率很高的数据结构,完全二叉树是由满二叉树引来的,最大层的节点都连续集中在最左边。
2.3二叉树遍历
1.前序遍历:先根节点----->再左节点----->最后右节点
2.中续遍历:先左节点----->再根节点----->最后右节点
3.后续遍历:先左节点----->再右节点----->最后根节点
2.4二叉树的时间复杂度
代码实现待续…