如何在Python中声明Red Black Tree Nodes?

时间:2019-04-08 08:21:31

标签: python oop red-black-tree

我的目标是创建一个正常运行的红黑树。我了解理论上的概念,但是缺乏对如何在Python中处理类的理解。我在想:

实现诸如:

RED = 'R'
BLACK = 'B'

class Node:
    def __init__(self):
        self._color = BLACK
        self._key = self._left = self._right = self._p = None

class Tree:
    nil = Node()
    nil.color = BLACK

    def __init__(self, root=nil):
        self.root = root

    def rb_insert(self, z):
        y = self.nil
        ...
        z.p = y  # ISSUE... How should I fix it?

但是正如预期的那样,z没有属性p(因为它是整数)。 因此,我正在考虑更改节点的构造函数以接收密钥,但是在这种情况下,我不知道如何处理“ nil”节点(出现在每个叶子上)。

0 个答案:

没有答案