二叉树,是度为二的树,二叉树的每一个节点最多只有二个子节点,且两个子节点有序。
下面开始介绍几种常见的二叉树类型:
1. 完全二叉树
若设二叉树的深度为k,除第k层外,其他各层(1~(k-1)层)的节点数都达到最大值,且第k层所有的节点都连续集中在最左边,这样的树就是完全二叉树。如图:
(图片仅参考网友,侵删)
完全二叉树是一种效率很高的数据结构,而堆是一种完全二叉树或者近似完全二叉树,因此堆的效率也很高;像十分常用的排序算法、Dijkstra算法、Prim算法等都要用堆才能优化,二叉排序树的效率也要借助平衡性来提高,而平衡性是基于完全二叉树的。
(以上摘自:https://www.jianshu.com/p/6a30657bf894)
2. 满二叉树
满二叉树的定义分两种