查找单词组合的最佳算法?

时间:2010-06-02 14:41:50

标签: algorithm

  

可能重复:
  How to find all possible subsets of a given array?

所以说你有

AB

你可以拥有a,b,ab

这是最好的方法吗?

2 个答案:

答案 0 :(得分:2)

来自itertools recipes

def powerset(iterable):
    "powerset([1,2,3]) --> () (1,) (2,) (3,) (1,2) (1,3) (2,3) (1,2,3)"
    s = list(iterable)
    return chain.from_iterable(combinations(s, r) for r in range(len(s)+1))

这是一个标准的python模块,所以读取它应该可以让你深入了解它的实现方式和使用的算法。我不知道它是否是最好的,但它是来自现实世界的算法。

答案 1 :(得分:0)

A power set是一种解决方案

  

集合A的幂集是其中的集合   成员都是A的可能子集。   例如,{1,2}的powerset是   {{},{1},{2},{1,2}}。

有一个Python解决方案:

  

What algorithm can calculate the power set of a given set?