您好,我刚才在看一些R-B树代码的示例,我想知道是否有理由创建并使用新属性TNULL,而不是只使用None。注意,TNULL不是None的内置“替代品”,对吗?我查阅了一些python文档,但在其中找不到完整的内容。以下是我所指的内容,可以在https://www.programiz.com/dsa/red-black-tree上找到
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
如果我有什么误解,请告诉我。谢谢你的帮助
之所以使用TNULL,是因为有时我们可能会检查TNULL节点的左侧或右侧,因此基本上TNULL是存在的,因此代码可以更优雅,同时不会中断程序,因为
None
没有属性left
或right
相关问题 更多 >
编程相关推荐