Как алгоритмы изменили мир


Эта инфографика демонстрирует влияние программирования. Бесспорно, что программное обеспечение затронуло большинство вещей в современном мире, но вы все еще можете быть удивлены выбором алгоритмов в этой таблице.

Эта инфографика, подготовленная College Degree Search, явно предназначена для того, чтобы вызвать у студентов энтузиазм в изучении самого важного из всех предметов — программирования. Тем не менее, это поднимает некоторые интересные вопросы о том, что именно и алгоритм.

Он дает следующее определение:

Алгоритм — это набор инструкций для решения проблемы или выполнения задачи.

и хотя это правда, разве это не применимо и к математической формуле? Разве традиционная хорошо известная формула для корней квадратного уравнения не является алгоритмом по этому определению?

Да, конечно!

Дело в том, что программирование — это математика без сокращенных символов, но не говорите об этом студентам, потому что это может их оттолкнуть.

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

Вы можете получить версию с еще более высоким разрешением на странице College Degree Search.

В то время как первый пример, алгоритм Евклида, кажется прекрасным в качестве алгоритма, второй, квадратичный алгоритм, не так хорош. Программирование и алгоритмы, относящиеся больше к программированию, чем к математике, обладают тем свойством, что они используют итерацию и условную логику в отличие от математических формул. В то время как алгоритм Евклида включает итерацию, квадратичный алгоритм не включает.

Вы можете выбирать, какие алгоритмы, по вашему мнению, относятся к программированию, а какие — к математике. Лично мне приятно видеть в списке быстрое преобразование Фурье. Трудно оценить, насколько сильно изменилось это улучшение от алгоритма порядка N2 к алгоритму порядка NlogN. Вероятно, он заслуживает похвалы алгоритма века — но он будет 20-м, а не 21-м.

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

Так что бы вы выбрали, чтобы стать образцом программирования? Сообщите нам об этом в комментариях.


Добавить комментарий