0

コンピューター サイエンス クラスの入門編として、ツリー ベースのマップの問題があります。彼らが求めている方法でツリーを作成する方法について、私は本当に混乱しています。

私がこれまでに持っているもの:

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

ありがとう!

4

1 に答える 1

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)
于 2012-11-02T22:50:39.147 に答える