C++ 如何创建包含一组字母的词典

C++ 如何创建包含一组字母的词典,c++,stl,c++14,C++,Stl,C++14,我有一组字母作为输入参数,我必须创建一个包含所有字母组合的字典[一组单词]。什么是最好的算法/库来接近这个在C++中。我需要尽可能最大的优化 输入流中的字母是a-z,本质上是重复的。我需要一组N长度的单词的解决方案,它可以由此创建。我尝试了以下步骤:1>获取N长度单词的最大单词数。假设一个N长度的单词有a1'a,b1'b。。。。。。。。。。z1'z's。。这样a1+b1+…+z1=N。在这种情况下,计数=(N!)/((a1!)*(b1!)*…*(z1!))。2> 在步骤2中,我将从输入字符流中随

我有一组字母作为输入参数,我必须创建一个包含所有字母组合的字典[一组单词]。什么是最好的算法/库来接近这个在C++中。我需要尽可能最大的优化


输入流中的字母是a-z,本质上是重复的。我需要一组N长度的单词的解决方案,它可以由此创建。

我尝试了以下步骤:1>获取N长度单词的最大单词数。假设一个N长度的单词有a1'a,b1'b。。。。。。。。。。z1'z's。。这样a1+b1+…+z1=N。在这种情况下,计数=(N!)/((a1!)*(b1!)*…*(z1!))。2> 在步骤2中,我将从输入字符流中随机挑选字符[非重复索引],并将形成一个长度为N的字,该字将存储在列表中。在向列表中添加单词时,我将遍历列表的历史,以消除重复条目。3> 这会给我一个合适的解决方案,但是运行时的复杂性太高了。在这种情况下,DAWG能帮我吗?