-1

Что такое алгоритм? Глава в книге началась практически со слов:

измерение эффективности алгоритмов by Big O Notation

Но там не рассказывали, что такое алгоритм.

  • 2
    Ну, google://define+algorithm выдало мне «Процесс или набор правил, необходимых для проведения расчета или выполнения какой-либо задачи.» – VladD Nov 23 '16 at 11:42

3 Answers3

5

С алгоритмами мы сталкиваемся практически каждый день. Иногда даже сами того не осознавая. Например, когда просим кого-то купить продукты в магазине. Мы объясняем, какие нужны продукты, сколько их, какие требования к ним мы предъявляем. К примеру: купить две буханки чёрного хлеба, причём свежего.

Мы указываем чёткий алгоритм: необходимо зайти в магазин, узнать, есть ли чёрный хлеб. Затем узнать, свежий ли этот хлеб. А уже после этого (в случае двух положительных ответов) купить две буханки.

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

Рекомендую - раз само понятие алгоритм вызывает непонимание - начать с этого урока. Я не шучу и не издеваюсь.

И, кстати, вот тут есть список книг, которые, возможно, имеет смысл посмотреть - Книги по теме "Алгоритмы"

Harry
  • 221,325
3

Вики дает такое определение

Алгори́тм — набор инструкций, описывающих порядок действий исполнителя для достижения некоторого результата. В старой трактовке вместо слова «порядок» использовалось слово «последовательность», но по мере развития параллельности в работе компьютеров слово «последовательность» стали заменять более общим словом «порядок». Независимые инструкции могут выполняться в произвольном порядке, параллельно, если это позволяют используемые исполнители.

  • там похоже забыли ключевое - Алгори́тм — набор инструкций, однозначно понятных исполнителю, описывающих... – KoVadim Nov 23 '16 at 11:46
  • Т.е. еффективный алгоритм доступа или алгоритм сортировки это еффекивная последовательность действий, для достижения лучшего результата? – Anton Sorokin Nov 23 '16 at 11:47
  • Для чего и где они вообще используются? Часто их встречал в статьях. – Anton Sorokin Nov 23 '16 at 11:48
  • эффективный - значит он работает достаточно хорошо и быстро. И сокрее всего на данный момент более быстрых не нашли. – KoVadim Nov 23 '16 at 11:48
  • @KoVadim более быстрых чем кто? – Anton Sorokin Nov 23 '16 at 11:49
  • чем другие известные алгоритмы. – KoVadim Nov 23 '16 at 11:50
  • 2
    @антонсорокин не "лучшего результата". Как бы Вы не сортировали, у Вас всегда получится одна и та же отсортированная последовательность. Эффективный алгоритм - это алгоритм, который для достижения цели расходует меньше всего ресурсов. А ресурсы могут быть разные. Чаще всего - это время выполнения. Но бывают и другие: использование памяти, обращение к диску, обращение к сети... – Anton Shchyrov Nov 23 '16 at 11:55
0

Эффективность алгоритмов измеряется его "сложностью". Сложность может быть временна́я, по памяти, по размеру программы, вычислительная и др. Для удобства используют нотацию О

Советую посмотреть от Яндекса курс по Алгоритмам. Там первая лекция как раз об этом.

PS не по теме, но "Эффективных"

Rkvtsn
  • 9