一、树
1.树的概念
![a4b6b8afe41e2d21f0032db4c1ba46f1.png](https://i-blog.csdnimg.cn/blog_migrate/dae3a2b440d0cbfb4a53e45a71e7e94f.jpeg)
以上的数据结构称为树,是n(n≥0)个节点的有限集。 当n=0时,称为空树。有且仅有一个特定的称为根的节点。
相关概念:
![9b5ca1858e00ad5970818f301cd75b97.png](https://i-blog.csdnimg.cn/blog_migrate/eac75f3d28295e3b34c35819dd60f67c.jpeg)
节点的度:子节点的个数
树的度:所有节点度的最大值
叶子节点:度为0的节点,即没有子节点的节点
非叶子节点:度不为0的节点,即存在子节点的节点
![1eb745f36bf549c46a05630a4084febc.png](https://i-blog.csdnimg.cn/blog_migrate/dc01e15042200566129a3415199f263b.jpeg)
节点深度:从根节点到当前节点的唯一路径上的节点数
节点的高度:从当前节点到最远叶子节点的路径上的节点数
层:根节点在第一层,根节点的子节点在第二次,依次类推
数的分类
![3742c935d9302e23117f7dfb607d7837.png](https://i-blog.csdnimg.cn/blog_migrate/733165eb06b99afab8c7d9fd0c42282a.jpeg)
2.二叉树
二叉树(binary tree):每个节点最多有2个孩子节点。注意,这里是最多有2个,也可能只有1个,或者没有孩子节点。
![e431bc46a972276e7a56cc501c7a8e22.png](https://i-blog.csdnimg.cn/blog_migrate/362df4c08bd7e7843caa0990d96fe17c.jpeg)
2.1 二叉树分类
2.1.1满二叉树
一个二叉树的所有非叶子节点都存在左右孩子,并且所有叶子节点都在同一层级上,那么这个树就是满二叉树。