0
私は決定木でこの本を読んでいますが、著者はパワーセットを生成するコードの例を示しました。説明は神秘的なものですが、私はすべての操作の構文と意味を理解しています。私はこのアルゴリズムの背後にある推論を得ていません。項目リストのパワーセットを生成するためのこのプログラムのロジックは何ですか?
# generate all combinations of N items
def powerSet(items):
N = len(items)
# enumerate the 2**N possible combinations
for i in range(2**N):
combo = []
for j in range(N):
# test bit jth of integer i
if (i >> j) % 2 == 1:
combo.append(items[j])
yield combo