无法理解子集的创建者

时间:2019-03-28 11:01:02

标签: python recursion

编程的新手,并花大量时间尝试理解此递归函数,但我无法对其进行可视化。这是关于subsetsRecur函数。任何人都可以理解的简单解释吗?

class py_solution:

    def sub_sets(self, sset):
        return self.subsetsRecur([], sorted(sset))

    def subsetsRecur(self, current, sset):
        if sset:
            return self.subsetsRecur(current, sset[1:]) + self.subsetsRecur(current + [sset[0]], sset[1:])
        return [current]
print(py_solution().sub_sets([4,5,6]))

1 个答案:

答案 0 :(得分:1)

代码计算给定集合的 powerset 。它是标准递归算法的直接实现。有关算法的定义,请参见here