Алгоритм домизации - PullRequest
       15

Алгоритм домизации

1 голос
/ 22 октября 2010

Я пытаюсь выяснить, как http://domize.com кодирует свой сайт для скорости (я использую C #).

Например, если я ищу

[СНН] [vwl] [СНН] [СНН] [vwl] [СНН]

Будет выполнен поиск 6-буквенного доменного имени в следующем порядке

согласный, гласный, согласный, согласный, гласный, согласный

В результате:

babbab babbac babbad babbaf ... zuzzux zuzzuy zuzzuz

Поскольку имеется 21 согласный и 5 гласных (не включая «у»), это будет означать, что существует 21 * 5 * 21 * 21 * 5 * 21 = 4 862 025 возможных комбинаций.

Там результаты относительно быстрые, поэтому они не могут пройти через все эти результаты за такой короткий промежуток времени.

Теперь я понимаю, что они показывают только первые 100 одновременно, но для того, чтобы получить эти первые 100, они должны построить хотя бы НЕКОТОРЫЕ из результатов.

Мой вопрос: как они делают это так быстро?

Я думал создать массив массивов. В этом случае было бы 6 массивов (из-за 6 групп), с возможностями согласных / гласных в каждом массиве. Но я не знал, как правильно проходить через них для построения доменов.

Я уверен, что есть более быстрый / лучший способ, например, может быть хеш-таблицы или матрицы, или что-то в этом роде, но я не знаю достаточно о них, чтобы понять это самостоятельно.

Если бы кто-нибудь мог предоставить код C #, я был бы очень признателен!

Спасибо!

1 Ответ

1 голос
/ 22 октября 2010

Я бы предположил , что он поддерживается каким-то вариантом три .

...