Язык Веб-программирования для очень больших списков?

По вашему опыту, что лучший язык веб-программирования используется для обработки сортировки и сравнения очень больших списков (т.е. десятки тысяч адресов электронной почты)?

Я являюсь самым знакомым с PHP. Я думаю, что это могло сделать задание, но я не уверен в других языках и если мог бы быть истец заключающего пари.

Спасибо!

5
задан littleK 17 June 2010 в 15:34
поделиться

6 ответов

Я бы хранил электронные письма в базе данных и использовал SQL для выполнения сортировки и поиска. Это то, для чего были разработаны базы данных, и у них будут интеллектуальные решения, которые превзойдут все, что большинство людей могут написать в коде.

15
ответ дан 18 December 2019 в 05:28
поделиться

Самым быстрым будет скомпилированный cgi.

0
ответ дан 18 December 2019 в 05:28
поделиться

Язык обычно не имеет большого значения. Выбирайте тот, с которым вам удобнее всего.

Конечный продукт формируется строителем, а не инструментами.

1
ответ дан 18 December 2019 в 05:28
поделиться

Можно ли выполнить сортировку внутри базы данных? Они предназначены для динамической сортировки и сравнения. Я бы посоветовал вам перейти к модели, которая позволяет БД обрабатывать такую ​​деятельность.

Если вы действительно не можете использовать БД по какой-то причине, вам следует сосредоточиться на алгоритмах, а не на языках. Выберите язык на основе других критериев (личное знакомство, поддерживает ли он другие ваши задачи, есть ли у него активное сообщество поддержки и т. Д. И т. Д.) И определите лучший алгоритм с учетом особенностей этого языка. Например, согласно некоторым обсуждениям в https://stackoverflow.com/questions/309300/defend-php-convince-me-it-isnt-horrible , PHP имеет относительно низкую производительность рекурсии.

А если серьезно, используйте для этого базу данных.

16
ответ дан 18 December 2019 в 05:28
поделиться

Это не зависит от языка программирования, это зависит от логики, скажем, от индексов или схем таблиц и механизма кэширования.

2
ответ дан 18 December 2019 в 05:28
поделиться

Вы также можете использовать дерево, которое представляет собой структуру данных префиксного дерева - для сортировки в памяти.

Адреса электронной почты имеют ограничительный набор символов ( az , 0-9 , _ , . и т. Д.), Поэтому trieNode будут только эти персонажи. Это руководство topcoder по trie является хорошей отправной точкой, если вы еще не знаете о trie.

Вы должны перебрать все строки, чтобы построить дерево.

Поиск / сравнение занимает время O (l), где l - длина сравниваемой строки.

Сортировка требует, чтобы вы прошли все trieNodes дерева дерева с использованием DFS (поиск в глубину) - время O (| V | + | E |).

1
ответ дан 18 December 2019 в 05:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: