树
树是一种非常重要的非线性结构,本身具有递归的性质(在其后的编程中体现的淋漓尽致)。
![](https://i-blog.csdnimg.cn/blog_migrate/baad92200c0df101421587fcd1d9a1c7.png)
看下图,A 节点就是 B 节点的父节点,B 节点是 A 节点的子节点。B、C、D 这三个节点的父节点是同一个节点A,没有父节点的叫做根节点,也就是 E 。
![](https://i-blog.csdnimg.cn/blog_migrate/302e7183d4db50ec8d9ed906283f0df7.png)
没有子节点的节点叫作叶子节点或者叶节点,图中的G,H,I,J,K,L
关于“树”,还有三个比较相似的概念:高度(Height)、深度(Depth),层(level)
![](https://i-blog.csdnimg.cn/blog_migrate/db3245194060275febe1f3290965359a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/92e5a412ff7f7b1e6e6e37711676dfdf.png)
二叉树(binary Tree)
二叉树是n(n>=0)个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点和两棵互不相交