gpt4 book ai didi

java - 计算幂集的算法

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:58:41 24 4
gpt4 key购买 nike

我刚刚发现了一种用于查找幂集的算法。我在谷歌上搜索了解决方案,但没有找到任何有效的方法,所以我自己想出了一个。但我不知道它是什么算法,因为我在网上或任何书籍中都找不到它。我的意思是,它有名字吗?与我在一些网站上找到的计算幂集的算法相比,我认为我的算法要好得多,想知道为什么没有人使用它?

这是算法:

R <- []
L <- [ e1, e2 ... en ]
c <- 0
function: powerSet(L, c)
R <- R union L
for e in L starting at c
powerSet(L\{e}, c)
end
return R
end

这里是用Java实现的:

public static void powerSet(List<String> list, int count)
{
result.add(list);

for(int i = count; i < list.size(); i++)
{
List<String> temp = new ArrayList<String>(list);
temp.remove(i);

powerSet(temp, i);
}
}

最佳答案

看看 Rosetta Code Power Set页。那里有一些递归解决方案的实现(包括 Java 实现)。不过,一般来说,递归解决方案意味着一个非常大的调用堆栈,这会减慢速度。

关于java - 计算幂集的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1422626/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com