Хорошо, давайте перейдем к делу, термины выглядят хорошо. Я думаю, что «искусство написания алгоритмов», тогда о чем этот средний блог? Является ли процесс написания алгоритма искусством или это обязательная задача, которую должен выполнять каждый программист? Заглянем дальше в тему

Написание алгоритма — это просто процесс или работа, да для тех, кто не понимает или ненавидит программирование. Но для тех, кто любит это, это лучшее из всего, что они могли взять на себя. Так что, если вы разработчик, я имею в виду страстного разработчика, вы должны в основном браться за процесс написания алгоритма.

Этапы для начала написания алгоритма:

  1. Прежде всего получите описание или хотя бы небольшое название проблемы.
  2. Затем начните расширять решение проблемы простыми словами.
  3. Затем начните преобразовывать их в слова, которые можно начать заново или прервать в середине.
  4. Продолжайте разрабатывать решение, а также меняйте алгоритм
  5. Просмотрите алгоритм

Набор шагов, которые необходимо выполнить для решения любой проблемы, называется алгоритмом. Обычно перед написанием программы пишется алгоритм. Написана на английском языке и легко понятна даже не программистам. В некоторых случаях, например от 45% до 60%, алгоритмам помогают псевдокоды. Язык, похожий на язык программирования.

Алгоритм также можно назвать планом кодирования.

Это также помогает в отладке

И более того, он становится частью документации по программному обеспечению в будущем.

Хороший алгоритм должен иметь четко определенный набор входных данных, шаги однозначно определены, иметь конечное число шагов и производить желаемый результат. Алгоритмы могут быть простыми и сложными в зависимости от того, чего вы хотите достичь. Разработанный алгоритм не зависит от языка, то есть это просто простые инструкции, которые могут быть реализованы на любом языке, но результат будет таким же, как и ожидалось. Поскольку никто не будет следовать никаким письменным инструкциям по приготовлению рецепта, а только стандартному. Точно так же не все письменные инструкции по программированию являются алгоритмами.

Обязательные свойства алгоритма:

  • прекращаются через конечное время.
  • Произведите хотя бы один выход.
  • Возьмите ноль или более входных данных.
  • Дайте тот же результат для одного и того же входного случая.
  • Каждый шаг должен выполнять определенную работу.

Типы алгоритмов:

Существует несколько типов алгоритмов. Некоторые важные алгоритмы:

1. Алгоритм грубой силы: простейший подход к решению проблемы. Это первый подход, который приходит к поиску, когда мы видим проблему.

2. Рекурсивный алгоритм: он основан на рекурсии. Проблема разбивается на несколько частей, и одна и та же функция вызывается снова и снова.

3. Алгоритм поиска с возвратом: этот алгоритм в основном строит решение путем поиска среди всех возможных решений. Используя это, мы продолжаем создавать решения, соответствующие нашим требованиям. Всякий раз, когда решение позорит нас, мы откатываемся к точке отказа и строим следующее решение, и мы продолжаем этот процесс, пока решение или все возможные решения не будут найдены.

4. Алгоритм поиска. Алгоритмы поиска используются для поиска элементов или групп элементов в определенной структуре данных. Они могут быть разных типов в зависимости от их требований.

5. Алгоритм сортировки: сортировка упорядочивает сбор данных в соответствии с требованиями. Алгоритмы, которые помогают в выполнении этой функции, называются алгоритмами сортировки. Алгоритмы сортировки используются для сортировки групп данных по возрастанию или по убыванию.

6. Алгоритм хэширования: работает аналогично алгоритму поиска. Но они содержат индекс с идентификатором. При хешировании ключ назначается конкретным данным.

7. Алгоритм «разделяй и властвуй». Этот алгоритм делит проблему на подзадачи, решает одну подзадачу и объединяет решения вместе, чтобы получить окончательное решение. Шаги включают

  • Разделять
  • Решать
  • Объединить

8. Жадный алгоритм: здесь решение строится по частям. Решение следующей части строится на основе непосредственной выгоды следующей части. Одно решение, дающее наибольшую пользу, будет выбрано в качестве решения для следующей части.

9. Алгоритм динамического программирования: концепция использования уже найденного решения во избежание повторного вычисления решения проблемы. Он делит проблему на более мелкие перекрывающиеся подзадачи и решает их.

10. Рандомизированный алгоритм: здесь мы используем случайное число, что дает немедленную выгоду. Случайное число помогает найти нужное решение.

Об авторе:-

Linkedin: - https://www.linkedin.com/in/bobby-k-bose-06288421b/

GitHub: — https://github.com/bobby-bose

Твиттер :- https://twitter.com/BobbyKBose2