【发布时间】:2013-07-15 15:21:11
【问题描述】:
我正在寻找一种算法(最佳)来生成单词的所有可能组合。
例如:
给定love这个词,会输出以下内容:
生成的单词:24 叶洛夫 埃尔沃 欧尔夫 进化论 埃洛 进化 列夫 左旋 洛耶夫 爱 左旋 左旋 关注 oevl 奥列夫 橄榄 椭圆形 卵形 速度 元音 vleo 视频 声音 田鼠
给定单词bell(注意重复的l),将输出以下内容:
生成的单词:12 钟 贝尔 布尔 ebll elbl 埃尔布 贝尔 布尔 lebl 勒布 伊尔贝 乐乐
我有自己的算法来生成给定单词的所有组合。我基本上是在实现一个组合树。这是迄今为止更全面的,但它消耗大量的空间和时间。
【问题讨论】:
-
什么是组合树?递归生成组合?
-
也许您想按字典顺序对单词进行排序并尽可能应用一些“nextWord”功能?
-
我认为更合适的术语是“多集排列”。 en.wikipedia.org/wiki/Permutation
-
这个问题看起来很有希望:stackoverflow.com/questions/3467914/…。请注意,它不会生成所有排列,它会生成它们直到循环同构(
标签: algorithm tree word combinations permutation