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

2024-10-03 11:16:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我写了一段代码来生成大小为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

Tags: 代码in算法falseforlenreturnif