OriginalGriff
Сначала ответим на два последних вопроса:
Да.
И Да.
Проблема в том, что это сложная область, и трудно объяснить, почему алгоритмы важны в маленьком текстовом поле.
Существует связь между алгоритмами и программированием, но она не всегда очевидна, потому что алгоритм не зависит от кода - он не обязательно так сильно похож на ваш "программный код".
Алгоритм-это "процедура или формула для решения задачи." (whatis.com, через Google) но это скорее процесс, чем что-то, что очевидно является кодом, и хотя вы можете посмотреть на код и увидеть алгоритм за ним иногда, это не всегда так просто.
Давайте вернемся назад и подумаем о том, что такое алгоритм в реальном мире.
Предположим, вы едете по дороге и получаете прокол. Самое очевидное-заменить проколотую шину на запасную. Таким образом, алгоритм решения вашей проблемы "я не могу добраться отсюда до точки В, потому что моя шина спущена" может быть следующим:
Remove spare wheel from car.
Remove jack and wheel brace from car.
Use the jack and wheel brace to remove the wheel that has the flat tyre.
Use the wheel brace to fit the spare tire.
Put the jack, wheel brace, and punctured tyre in back in the car.
Но реализовать это в инструкциях, которым сможет следовать тот, кто никогда не пробовал менять шину (точно так же, как компьютер должен "следовать" инструкциям в вашем коде), гораздо сложнее: у вас, вероятно, будет чертовски много шагов, несколько условных и циклических конструкций и гораздо больше точности.
Например, первый шаг приведенного выше алгоритма, вероятно, начнется с:
Boot.Open();
if (!Boot.Contains("Spare Tyre") Panic("No spare tyre");
...
Алгоритм-это процесс, программирование-это реализация, которая специфична для вашего языка программирования, среды и того, как работает остальная часть вашего приложения.
Они важны? Да. Если вы не понимаете фундаментальных вещей, вы будете принимать много неправильных решений. Например, если вы не знаете о быстрой сортировке, у вас возникнут реальные проблемы, если вам нужно реализовать сортировку для нескольких миллионов записей и вы можете думать только о пузырьковой сортировке! :смеяться: