Найти тему

Алгоритм

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

Что такое алгоритм?

Алгоритм это определенный набор инструкций для выполнения некоторой задачи.

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

Бинарный поиск. Имея отсортированный список элементов мы начинаем поиск в нем. Возможно, самое быстрое решение это поэлементно перебрать список, но задача была долгой, если не применить этот алгоритм. Принцип действия такой. Мы разбиваем список элементов пополам и сверяем есть ли поисковый элемент в одной из частей списка. Получается в одной из частей есть данный элемент. А та часть в которой элемента нет мы больше не используем. Далее в части где элемент есть мы так же разбиваем пополам, сверяем наличие поискового элемента. И так далее пока не будет найден наш поисковый элемент. На примере можно показать так. Два человека играют в игру. Один загадывает число в определенном диапазоне, а второй это число отгадывает. Но человек который отгадывает может задать вопрос больше или меньше поисковое число.

Пример:

Диапазон от 1-50

1) Загадал число 23

2) предполагаю, что число 25

1) меньше (значит, диапазон от 25 до 50 мы отбрасываем)

2) 12 (диапазон от 1 до 24 делим пополам)

1) больше (значит, диапазон от 1 до 12 отбрасываем)

2) 18 (половина диапазона от 12 до 24)

1) больше (значит, от 12 до 18 отбрасываем)

2) 21

1) больше

2) 23

1) число угадано

На данном примере я постарался показать пример алгоритма бинарный поиск.

Далее проходя данную книгу я постараюсь рассказывать про другие алгоритмы.