Глава 1. Бинарный поиск👍
Книга начинается с объяснения того, для чего вообще нужны алгоритмы и как измеряется их эффективность, вчера я уже рассказал Вам об этом, но стоит немного еще сказать про время выполнения❗️
Пример про время работы алгоритма
Если у нас есть список, в котором содержится n элементов, и нам нужно найти какой-то элемент, то время обхода этого списка с помощью обычного линейного поиска т.е. мы будем просматривать каждый элемент по очереди - будет равно О(n)
О(n) называют "О-большое от эн"
Про память будем говорить чуть позже...
Первый алгоритм, который я бы хотел рассмотреть - это бинарный поиск. Почему? Я считаю, что это один из самых простых для понимания алгоритмов. Свойства:
На одном из собеседований мне дали следующую задачу, которую и рассмотрим в качестве примера, чтобы разобрать логику бинарного поиска. Задача. У нас есть дом из 10 этажей. У нас есть кирпичи. Мы хотим найти максимальный этаж, при котором кирпич не разобьётся от падения. Всего у нас 3 попытки. Этот эксперимент я ставил в детстве на заброшке, мой...