gpt4 book ai didi

algorithm - 按字典顺序生成 k 组合

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:02:52 25 4
gpt4 key购买 nike

我不知道也找不到一种算法来按字典顺序生成 k 个项目(即 k 个子集)的组合。我知道生成 n 选择 k 组合的算法,但它们不会按字典顺序生成 k 子集。

有人可以帮我解决这个问题或为我指明正确的方向吗?

最佳答案

以下算法将生成集合元素的所有组合:

procedure all_combinations(S)

if length(S) == 0
return {}
else
all_comb = {}
x = first element of S
Sx = S-{x}
for each C in all_combinations(Sx)
all_comb += C
all_comb += {x} ∪ C
return all_comb

对于集合{1,2,3},这个算法做...

所有组合({2,3})

所有组合({3})

all_combinations({}),返回 {}

all_combinations({3}) 返回 {{}, {3}}

all_combinations({2,3}) 返回 {{}, {2}, {3}, {2,3}}

all_combinations({1,2,3}) 返回 {{}, {1}, {2}, {1,2}, {3}, {1,3}, {2,3}, {1 ,2,3}

关于algorithm - 按字典顺序生成 k 组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31695772/

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