rafidkarim Ответов: 2

какова связь между алгоритмом и программированием?


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

0x01AA

Может быть, чтение этого может помочь: https://en.wikipedia.org/wiki/Algorithm[^]

2 Ответов

Рейтинг:
20

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");
...

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

Они важны? Да. Если вы не понимаете фундаментальных вещей, вы будете принимать много неправильных решений. Например, если вы не знаете о быстрой сортировке, у вас возникнут реальные проблемы, если вам нужно реализовать сортировку для нескольких миллионов записей и вы можете думать только о пузырьковой сортировке! :смеяться:


0x01AA

по крайней мере, мои 5.

Afzaal Ahmad Zeeshan

5ed; но он мог бы заслужить 5, если бы вы написали его наполовину от его нынешнего размера. ;-)

Patrice T

+5

CPallini

5.

OriginalGriff

2015? Вы сегодня возвращаетесь к "Best of OriginalGriff"? :смеяться:

CPallini

Да, 2015 год был определенно хорошим. :Д

Рейтинг:
1

Patrice T

Алгоритм - это как квитанция для решения задачи.
Чтобы сделать программу, которая решает проблему, вы переводите алгоритм на этот язык.
GitHub - The-Art-of-Computer-Programming-Books: "повседневная жизнь похожа на программирование, я думаю. Если вы любите что-то, вы можете вложить в это красоту".? Дональд Э. Кнут[^]


CPallini

Ссылка кнута всегда заслуживает 5 баллов.

Patrice T

Спасибо.
Я подумал, что это хорошая идея, чтобы добавить ссылку, как вопрос выскочил на вершине списка сегодня вечером. :)