@memphistofil
Губы в трубочку, нить в иголочку

Как понимать алгоритмы?

Есть желание разобраться и начать понимать алгоритмы. Вопрос в следующем, какие могут понадобиться знания для лучшего(или вообще) усвоения? Предполагаю что математика, но что именно?
Возможно, кто-то посоветует полезные ресурсы по алгоритмам и смежным темам.
Спасибо.
  • Вопрос задан
  • 2528 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Mercury13
Программист на «си с крестами» и не только
Есть три специфичных вида алгоритмов.
• Математические. Из них я могу припомнить геометрические (выпуклая оболочка) и вычислительные (метод Рунге-Кутты).
• Связанные с особыми структурами данных.
• Параллельные.

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

Из общего — те части математики, которые служат основополагающими принципами работы компьютеров. Теория множеств, булева алгебра, комбинаторика, теория автоматов… Также важно изучить символы Ландау и понятие «асимптотическая сложность алгоритма».

Для параллельных важно понимать архитектуру параллельных систем.
Ответ написан
Комментировать
Алгоритм - это последовательность действий, описанная каким-то языком. Чтобы понимать алгоритм, надо знать язык и используеимые термины. Только и всего. А дальше зависит о сложности самого алгоритма и структурных единиц его описания.

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

Зачем мне дискретная математика, чтобы понимать алгоритм выращивания бананов?

Вообще, вопрос некорректный. "Что нужно знать, чтобы понимать написанный порядок действий?"
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы