2010-07-06 4 views
3

Christoph Koutschan установил an interesting survey, который пытается идентифицировать наиболее важные алгоритмы «в мире». Поскольку один из критериев заключается в том, что «алгоритм должен широко использоваться», я бы сказал, что продлить опрос огромной группе пользователей в Stack Overflow было бы естественным делом.Каковы наиболее важные алгоритмы?

Итак, что вы думаете? Какие алгоритмы заслуживают места в Зале Славы Алгоритмов?

+0

Является ли «сжатие данных» действительно алгоритмом? – Cam

+0

Я думаю, что ваша ссылка уже делает хорошую работу, и нет смысла надеяться на «лучшие» ответы - кроме этого, это слишком субъективно, и ответы будут отличаться в зависимости от того, в каком поле работает. Самые общие идеи - бинарный поиск, ветвь -and-bound, divide-and-завоевание, динамическое программирование, метод/градиентный спуск Ньютона, общие алгоритмы поиска графа и т. д. - будут представлены везде, настолько, что они будут почти мета-алгоритмами. – ShreevatsaR

+0

Существует так много совпадений между идеями, что бессмысленные «ранжирующие» алгоритмы «наиболее важны». Например, метод Ньютона и градиентное схождение, по-видимому, «морально» эквивалентны (и EM также близок), удивительный алгоритм Бухбергера - это евклидово алгоритм + гауссово исключение, SVD тесно связано с последним и т. Д. – ShreevatsaR

ответ

3

Я несколько, как этот алгоритм:

  1. Написать код.

  2. Тестовый код. Если багги, перейдите к шагу 3. Если нет, перейдите к шагу 4.

  3. код Rewrite, а затем вернитесь к шагу 2.

  4. Получите кого-то еще, чтобы проверить свой код. Если они обнаружат какие-либо ошибки, вернитесь к шагу 3, в противном случае перейдите к шагу 5.

  5. Поздравляем, ваш код не имеет очевидных ошибок! Теперь вы ждете, когда пользователь наткнется на скрытый, и в этом случае вы снова вернетесь к шагу 3, если вам не повезет, и больше не поддерживаете данный код.

+0

6. Доставить -> 7. Mantain (то есть GOTO 1) –

+0

@belisarius: да, изменено # 5 немного. – JAB

+0

+ 1, но я бы изменил в 5. «если вам не повезло и ...» :) –

0

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

0

Хеширование, поскольку это основа для безопасности, структуры данных и т. Д. Хеширующие алгоритмы вызвали много фактов. диссертаций.

Смежные вопросы