Python 巨蟒的红黑树
您好,我刚才在看一些R-B树代码的示例,我想知道是否有理由创建并使用新属性TNULL,而不是只使用None。注意,TNULL不是None的内置“替代品”,对吗?我查阅了一些python文档,但在其中找不到完整的内容。以下是我所指的内容,可以在Python 巨蟒的红黑树,python,Python,您好,我刚才在看一些R-B树代码的示例,我想知道是否有理由创建并使用新属性TNULL,而不是只使用None。注意,TNULL不是None的内置“替代品”,对吗?我查阅了一些python文档,但在其中找不到完整的内容。以下是我所指的内容,可以在 如果我有什么误解,请告诉我。谢谢你的帮助 之所以使用TNULL,是因为有时我们可能会检查TNULL节点的左侧或右侧,因此基本上TNULL是存在的,因此代码可以更优雅,由于None没有属性left或right而没有中断程序时,您可以编辑此处所指的代码吗?我已
如果我有什么误解,请告诉我。谢谢你的帮助 之所以使用TNULL,是因为有时我们可能会检查TNULL节点的左侧或右侧,因此基本上TNULL是存在的,因此代码可以更优雅,由于
None
没有属性left
或right
而没有中断程序时,您可以编辑此处所指的代码吗?我已在他们声明TNULL的部分中添加了!
class Node():
def __init__(self, item):
self.item = item
self.parent = None
self.left = None
self.right = None
self.color = 1
class RedBlackTree():
def __init__(self):
self.TNULL = Node(0)
self.TNULL.color = 0
self.TNULL.left = None
self.TNULL.right = None
self.root = self.TNULL