一:常见二叉树
有满二叉树、完全二叉树、二叉搜索树、平衡二叉树、红黑树
1.满二叉树
在不增加树的层数的前提下,无法在多添加一个节点的二叉树就是满二叉树。
2.完全二叉树
如果只是删除了满二叉树最底层最右边的连续若干个节点,这样形成的二叉树就是完全二叉树。
3.二叉搜索(排序、查找)树(binary search tree)
定义:若它的左子树不空,则左子树上的所有结点的值均小于(注意:不是小于等于)根节点的值;若它的右子树不空,则右子树上的所有结点的值均大于(注意:不是大于等于)根节点的值,左右子树分别为二叉排序树。
注意:二叉搜索树有一种特殊情况,就是1的右节点为2、2的右节点为3……、5的右节点为6。这种情况下, 二叉搜索树已经变成了链表,搜索一个元素时间的时间复杂度也变成了O(n),出现这种情况的原因是二叉搜索树没有自平衡的机制。如下图所示