tgoop.com/code_and_travel/248
Last Update:
Что такое алгоритм?
Сегодня поговорим об одном из самых базовых понятиях программирования. А именно: алгоритмах.
Алгоритм - последовательность действий для достижения необходимого результата. Они есть в т.ч. и в жизни, окружающей нас. Например, рецепт приготовлениям пирога, в котором по пунктам рассказывается, каким ингредиенты и в какой последовательности стоит взять, чтобы в итоге получилось вкусное блюдо. Или алгоритм оформления заявления на отпуск. К кому и когда необходимо подойти, а также где и какие бумаги для этого подписать.
Компьютерные алгоритмы также распространены повсеместно. Так, навигатор строит маршрут согласно заданной комбинации действий, а распознаватель песен Shazam понимает, какая мелодия звучит, согласно своему алгоритму.
Основное отличие между человеческими и компьютерными алгоритмами в том, что отдельная личность может догадаться, о чем идет речь в случае неточности, а компьютер - нет (машинное обучение в расчет не берем). Поэтому для машин нужна супер-точное и подробное описание действий без вариантов множественного толкования.
Из чего состоит алгоритм? Давайте разберемся:
1. Входные параметры. Алгоритму нужны начальные значения, некая отправная точка, от которой он будет работать.
2. Выходные данные. Алгоритм, как правило, дает некий результат. Для чего-то вся комбинация сложных действий все же задумывается.
3. Определенность. Каждый шаг алгоритма (а их несколько) должен быть описан предельно точно. Философское и множественное толкование лишь приводит к ошибкам.
4. Правильность. На каждом шаге алгоритм должен работать верно, тогда и вся программа на выходе будет корректной.
5. Конечность. Бесконечные алгоритмы - плохо. Вы должны уметь достигать результата за заданное число шагов.
6. Общность. Алгоритм решает ту задачу, ради которой он создавался. Иначе какой во всем вышеперечисленном смысл?)
Советую вам ознакомиться с примерами алгоритмов лично. Например, в книге “Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих”. Во-первых, они вам пригодятся в повседневных задачах, а, во-вторых, не провалите подобные вопросы на собеседованиях.
Не скучайте! Новые технические статьи для начинающих вас скоро снова ждут.
BY Code&Travel

Share with your friend now:
tgoop.com/code_and_travel/248