在了解树具体的代码实现之前,先了解一下树的基础知识:
根节点:第一个结点;叶子节点(终端节点):之后再没有其它结点的结点;分支节点(非终端节点):之后还有其它结点的结点;
深度:即树的层数;(广)度 : 最大的节点的度;节点的度:节点的子节点个数
这里主要介绍二叉树,即度为二,区分左右子节点的树结构。
满二叉树:所有节点的度要么为0,要么为2,且所有的叶子节点都在最后一层的树,第K层节点个数:2^(K-1),K层满二叉树节点总数:2^K-1。
完全二叉树:叶子节点只会出现在最后2层,且最后一层的叶子节点都靠左对齐。所以满二叉树 一定是完全二叉树,完全二叉树不一定是满二叉树。完全二叉树叶子节点的计算:设叶子节点数为n0, 度为1的节点数为n1, 度为2的节点数为n2, 总节点为n,当n为奇数时 n0= (n+1)/2,当n为偶数 n0= n/2。
关于二叉树的代码实现:二叉树的代码实现-CSDN博客