C# 多米兹算法

C# 多米兹算法,c#,arrays,matrix,dns,C#,Arrays,Matrix,Dns,我试图找出他们的网站是如何编码速度的(我使用的是C#) 例如,如果我搜索 [cns][vwl][cns][cns][vwl][cns] 这将搜索按此顺序排列的6个字母的域名 辅音,元音,辅音,辅音,元音,辅音 导致: 巴巴布 巴贝克 巴巴德 巴巴夫 ... 祖祖克斯 祖祖伊 祖祖兹 因为有21个辅音和5个元音(不包括“y”),这意味着有21*5*21*21*5*21=4862025个可能的组合 结果比较快,所以他们不可能在这么短的时间内循环所有这些结果 现在,我知道他们一次只显示前100个,但是

我试图找出他们的网站是如何编码速度的(我使用的是C#)

例如,如果我搜索

[cns][vwl][cns][cns][vwl][cns]

这将搜索按此顺序排列的6个字母的域名

辅音,元音,辅音,辅音,元音,辅音

导致:

巴巴布 巴贝克 巴巴德 巴巴夫 ... 祖祖克斯 祖祖伊 祖祖兹

因为有21个辅音和5个元音(不包括“y”),这意味着有21*5*21*21*5*21=4862025个可能的组合

结果比较快,所以他们不可能在这么短的时间内循环所有这些结果

现在,我知道他们一次只显示前100个,但是为了得到前100个,他们必须至少构建一些结果

我的问题是:他们是怎么做到这么快的

我的想法是创建一个数组。在这种情况下,将有6个数组(因为有6个组),每个数组中都有辅音/元音的可能性。但我不知道如何正确地循环这些域来构建域

我相信有一种更快更好的方法,比如哈希表或矩阵之类的,但我对这些方面的了解还不够,无法自己解决

如果有人能提供C#代码,我将非常感激

谢谢

我猜它是由a的某个变体支持的。

我猜它是由a的某个变体支持的