设为首页 加入收藏

TOP

深入理解平衡二叉树AVL与Python实现(三)
2019-02-10 22:08:37 】 浏览:222
Tags:深入 理解 平衡 AVL Python 实现
lf._Item(k, v))
    else:


        p = self._subtree_search(self.root(), k)
        if p.key() == k:
            p.element().value = v
            return
        else:
            item = self._Item(k, v)
            if p.key() < k:
                leaf = self.add_right(p, item)
            else:
                leaf = self.add_left(p, item)
    self._rebalanced_insert(leaf)


def mapdelete(self, p):
    if self.left(p) and self.right(p):  # 两个孩子都有的时候
        replacement = self._subtree_last_position(
            self.left(p))  # 用左子树最右位置代替
        self.replace(p, replacement.element())
        p = replacement
    parent = self.parent(p)
    self.delete(p)
    self._rebalanced_delete(parent)


在实现4种平衡策略时,一定要记着将整棵树的根节点更新,不然遍历的时候,根节点指的就不是真正的根节点了。


首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Java设计模式之策略模式 下一篇Java设计模式之观察者模式

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目