摘要: AVL树本质上还是一棵二叉搜索树(因此读者可以看到我后面的代码是继承自二叉搜索树的),它的特点是:本身首先是一棵二叉搜索树。带有平衡条件:每个结点的左右子树的高度之差的绝对值(平衡因子)最多为1。AVL树的查找平均时间复杂度要比二叉搜索树低——它是O(logN)。旋转操作:AVL樹是一顆平衡樹,其左右子樹的高度差不會超過一層。爲了保持這一性質,採用旋轉節點的方式來降低高度。如下圖,紅色表示新插入的節點,一共4种情況:左左:節點1插入到左子樹的左節點,導致節點5不平衡。實際上我們只需要關心節點1、3、5,根據二叉搜索樹的性質(左 < 中 < 右),所以祇有節點3才可以作為父節點,於是 阅读全文
posted @ 2013-12-17 00:08 Chanson Shen 阅读(157) 评论(0) 推荐(0) 编辑