Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 生成大小k算法所有子集的时间复杂度_Python_Algorithm_Time Complexity - Fatal编程技术网

Python 生成大小k算法所有子集的时间复杂度

Python 生成大小k算法所有子集的时间复杂度,python,algorithm,time-complexity,Python,Algorithm,Time Complexity,我编写了一个代码,用于生成大小k算法的所有子集,但我不知道如何确定其时间复杂度。我知道如何解决简单的案件,但我仍在努力学习如何解决这些较难的案件。这些只是我无法理解的几个示例问题。任何帮助都将不胜感激,并将对我的学习大有帮助,谢谢 def getKSubsets(set,k=0,counter=0,binary=[],list = []) : if len(binary) == 0: binary = [False for i in range(len(set))]

我编写了一个代码,用于生成大小
k
算法的所有子集,但我不知道如何确定其时间复杂度。我知道如何解决简单的案件,但我仍在努力学习如何解决这些较难的案件。这些只是我无法理解的几个示例问题。任何帮助都将不胜感激,并将对我的学习大有帮助,谢谢

def getKSubsets(set,k=0,counter=0,binary=[],list = []) :
    if len(binary) == 0:
        binary = [False for i in range(len(set))]
    if (k == 0):
        list.append([set[j] for j in range(len(binary)) if binary[j]])
        return list
    for i in range(counter,len(set)-k + 1) :
        binary[i] = True
        getKSubsets(set,k-1,i + 1,binary,list)
        binary[i] = False
    return list

提示:您有一个条件函数,您应该计算所有可能条件的复杂性。(第一个发生,如果第二个发生,如果没有发生)与您的大o问题无关,使用隐藏内置的变量名是一种不好的做法(
列表
参数)。如果k等于0且未提供
list
,则还将对可变关键字默认值进行变异。默认值在函数定义求值时绑定一次,因此这些更改将在调用之间保持不变。提示2:name f to getKSubsets给定参数的操作数。所以你可以写f(a,b,c,d,e)=…+f(g,h,i,j,k)。其中点是if语句的操作数。这样,您将减少“查找f的公式”中的问题。假设您纠正了可变默认错误。你确定你能工作吗?任何非平凡的参数/结果示例?(对于普通的:对于任何集合,k=0,失败:它返回None,而应该是由emptyset组成的集合。)None类型返回错误已修复。提示:您有一个条件函数,应该计算所有可能条件的复杂性。(第一个发生,如果第二个发生,如果没有发生)与您的大o问题无关,使用隐藏内置的变量名是一种不好的做法(
列表
参数)。如果k等于0且未提供
list
,则还将对可变关键字默认值进行变异。默认值在函数定义求值时绑定一次,因此这些更改将在调用之间保持不变。提示2:name f to getKSubsets给定参数的操作数。所以你可以写f(a,b,c,d,e)=…+f(g,h,i,j,k)。其中点是if语句的操作数。这样,您将减少“查找f的公式”中的问题。假设您纠正了可变默认错误。你确定你能工作吗?任何非平凡的参数/结果示例?(对于普通:对于任何集合和k=0,失败:它返回None,而应该是由emptyset组成的集合。)None类型返回错误已修复。