平衡二叉樹詳解 怎么使平衡二叉樹的左右子樹深度之差的絕對值不超過1?
怎么使平衡二叉樹的左右子樹深度之差的絕對值不超過1?1. 平衡因子:二叉樹中任何一個結(jié)點(diǎn)的左子樹和右子樹的深度之差。2. 平衡二叉樹:在二叉樹中,每個節(jié)點(diǎn)的平衡因子的絕對值不大于1它是一棵空樹或它的左
怎么使平衡二叉樹的左右子樹深度之差的絕對值不超過1?
1. 平衡因子:二叉樹中任何一個結(jié)點(diǎn)的左子樹和右子樹的深度之差。
2. 平衡二叉樹:在二叉樹中,每個節(jié)點(diǎn)的平衡因子的絕對值不大于1
它是一棵空樹或它的左右子樹的高度差的絕對值不大于1,左右子樹都是一棵平衡二叉樹。常用的算法有紅黑樹、AVL、swap、伸縮樹等。在平衡二叉搜索樹中,我們可以看到它的高度一般保持在O(log2n),這大大降低了操作的時間復(fù)雜度。
什么是平衡二叉樹?
簡而言之,它是一個平衡的二叉排序樹,即先是一個二叉排序樹,然后是平衡的。可以這樣理解
]它要么是一棵空樹,要么它的左右子樹的高度差的絕對值不大于1,左右子樹都是一棵平衡的二叉樹
二叉排序樹也稱為二叉搜索樹。它要么是空樹,要么具有以下屬性:(1)如果其左子樹不為空,則左子樹上所有節(jié)點(diǎn)的值都小于根節(jié)點(diǎn)的值。(2) 如果右子樹不為空,則右子樹中所有節(jié)點(diǎn)的值都大于根節(jié)點(diǎn)的值。(3) 左右子樹也是二叉排序樹。
平衡二叉樹是具有以下屬性的空樹或二叉排序樹:(1)左右子樹都是平衡二叉樹;(2) 左右子樹高差的絕對值
如果左右子樹的高差稱為節(jié)點(diǎn)x的平衡因子,則用BF(x)表示。
然后我們從平衡二叉樹的定義知道:BF(x)=x左子樹深度-x右子樹深度