Алгоритмическая сложность
1 марта 2021 года, 22:31
Одна из тем, которые я обязательно поднимаю на собеседовании, — это сложность алгоритмов. Кандидату на мои вакансии достаточно назвать сложность наилучшей сортировки — O(n·ln n). Еще о структурах данных речь заходит при обсуждении работы индексов БД. Кандидат должен объяснить, за счет чего индексы ускоряют выполнение запросов.
Если кандидат не дает ответа O(n·ln n), это тревожный звоночек. В зависимости от вакансии я могу еще попросить оценить сложность простейшей сортировки, например, пузырьком, чтобы отличить пробел в знаниях от неспособности понимать эту тему.
Почему важно иметь представление об алгоритмической сложности? Что будет, если писать код без этого представления? Недавно нашелся пример: если на рабочем столе создать 1000 файлов, Windows тратит 20 секунд на открытие главного меню. И всё потому, что какой-то криворукий программист написал алгоритм сложности O(n2) там, где можно было обойтись O(n). Подробности читайте на хабре.
Продолжим разговор о системе рекомендаций в S2. Эта система подбирает к каждой заметке набор других заметок, которые посетитель может почитать дальше.
2023
В недавней поездке наблюдал, как люди рассаживаются в автобусе.
2023
Я иногда решаю «для себя» какие-нибудь сложные задачи по физике или математике.
2021
В этой заметке мы исследуем элементарными школьными методами свойства интересного множества чисел, которые называют автоморфными.
2005
Технология Ajax и это модное «Web 2.0» уже несколько лет у всех на слуху.
2007
Комментарии
Оставьте свой комментарий