0

だから私はここで入手可能なコードを使用しました: http://www.ics.uci.edu/~eppstein/PADS/UnionFind.py、しかし私はコードに関するいくつかの問題に遭遇しました:

まず最初に、メソッドiterは何を意味し、何をするのでしょうか?

次に、もともと次のコードがあるとします。

set R=set(['A','B','C','D','E','F','G'])
R=UnionFind()

では、印刷、追加などのセットの通常の操作を実行するにはどうすればよいですか? print R を書くと、< main .UnionFind instance at 0x000000000A31F048> のみが返されますが、これは明らかに私が望んでいるものではありません。R.add('K') (新しい要素 'K' をセット R に追加) と書くと、'AttributeError: UnionFind インスタンスに属性 'add' がありません' が返されます。「追加」の属性を定義する必要があるということですか? これを行う方法?

いくつかのユニオン操作の後、「A」、「B」、「C」を同じセットにグループ化した場合、「A」が含まれるセット内のすべての要素を知りたい場合 (「A」、 'B','C')、どうすればいいですか?

ありがとう

4

1 に答える 1

1
  1. このiter関数は、指定されたオブジェクトの反復子を返します。この場合、その反復子はself.parentsであるdictため、結果は辞書のキーに対する反復子になります。

  2. そのコードを考えると、私が考えることができる唯一の応答はSyntaxError.

UnionFind()クラスの使用方法は次のとおりです。

union_find = UnionFind()
a = 123
b = 456
c = 123
union_find.union(a, b, c)

print list(union_find)

結果は次のようになります。[456, 123]

于 2014-12-23T14:31:59.183 に答える