对于我的计算机科学课程介绍,我们有一个基于树的地图问题。我对如何以他们所要求的方式制作树感到困惑。
到目前为止我所拥有的:
class EmptyMap():
__slots__ = ()
class NonEmptyMap():
__slots__ = ('left','key','value','right')
def mkEmptyMap():
m = EmptyMap()
return m
def mkNonEmptyMap(map1, key, value, map2):
m = NonEmptyMap()
m.left = map1
m.key = key
m.value = value
m.right = map2
return m
def mapInsert(key, value, map1):
if isinstance(map1, EmptyMap):
else:
我遇到了mapInsert函数,它应该是递归的。我们的辅导实验室现在没有任何辅导员,所以任何帮助都表示赞赏。
链接到家庭作业文件http://www.cs.rit.edu/~vcss241/Homeworks/08/TreeMap-stu.pdf
谢谢!
答案 0 :(得分:0)
我从来没有写过或看过Python,但试试这个:
def mapInsert(key, value, map1):
if isinstance(map1, EmptyMap):
return mkNonEmptyMap(mkEmptyMap(), key, value, mkEmptyMap())
else:
if map1.key == key:
map1.value = value;
else if map1.key > key:
return map1.left = mapInsert(key, value, map1.left)
else:
return map1.right = mapInsert(key, value, map1.right)