一、树的概念和结构
1.概念
1.树是一种 非线性的数据结构,因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下
2.树形结构中,子树之间不能有交集,否则就不是树形结构
3.除根结点外,每个节点有且只有一个父节点
4.一颗有N个节点的树有N-1个边
2. 相关概念
1.树的度:一个节点含有的子树的个数称为该节点的度(如上图A节点的度为6)
2.叶子节点:度为零的节点被称为叶子节点
3.父节点:若一个节点含有子节点,则这个节点称为其子节点的父节点(如上图A是B的父节点)
4.树的度:一棵树中,最大的节点的度称为树的度(如上图树的度为6)
5.树的深度:从根节点向下经过的节点数的最大值(从1开始计数)
6.树的高度:从叶子节点向上到根节点经过的节点数的最大值(从1开始计数)
二、二叉树的概述与结构
1.概念
1.由一个根节点加上两棵别称为左子树和右子树的二叉树组成
2.二叉树不存在度大于2的结点
3.二叉树的子树有左右之分,次序不能颠倒
4.特殊的二叉树:
满二叉树:一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树。也就是说,如果一个二叉树的层数为K,且结点总数是 2^k-1,则它就是满二叉树。
完全二叉树:一个二叉树在最后一层不为满,且最后一层的节点从左到右连续
2.递归结构遍历
1.前序
2.中序
3.后序
4.层序遍历