构建二又平衡树,插入的节点序列依次为:70 60 40 90 80 98
我们先了解一个构造规则
1、将每一个节点按照顺序依次使用
2、先将第一个节点画在图上,将第二个节点与第一个节点比较,
(1)若比该节点大,第二个节点存在于作为该节点的右子树当中,若右子树没有孩子,则该节点为它的右子树,若右子树有孩子,则判断第二个节点与右子树中这个孩子的大小,以此类推
(2)若比该节点小,第二个节点存在于作为该节点的左子树当中,若左子树没有孩子,则该节点为它的左子树,若左子树有孩子,则判断第二个节点与左子树中这个孩子的大小,以此类推
3、依次类推,将第三个节点与最上面节点比较..........(省略自己补充)
图一:先将第一个数70画在图中
图二:将第二个数60与最上面的节点70比较,发现60<70,且70不存在左孩子,将60作为70的左孩子,(左子树)
图三:将第三个数40与最上面的节点70比较,发现40<70,存在于70的左子树,发现左子树有孩子60,将40和70的左孩子60比较,发现40<60,60不存在左孩子,40是60的左孩子
图四:将第四个数90与最上面的节点70比较,发现90>70,且70不存在右边孩子,将90作为70的右孩子,(右子树)
图五:将第五个数80与最上面的节点70比较,发现80>70,存在于70的右子树,发现右子树有孩子,将80和70的右孩子90比较,发现80<90,90不存在左孩子,所以80是90的左孩子
图六:将第六个数98与最上面的节点70比较,发现98>70,存在于70的右子树,发现右子树有右孩子,将98和70的右孩子90比较,发现98>90,90不存在右孩子,所以98是90的右孩子
所以图六就是由以上6个数据构成的平衡二叉树