Сайт Романа ПарпалакаБлог20210301

Алгоритмическая сложность

1 марта 2021 года, 22:31

Одна из тем, которые я обязательно поднимаю на собеседовании, — это сложность алгоритмов. Кандидату на мои вакансии достаточно назвать сложность наилучшей сортировки — O(n·ln n). Еще о структурах данных речь заходит при обсуждении работы индексов БД. Кандидат должен объяснить, за счет чего индексы ускоряют выполнение запросов.

Если кандидат не дает ответа O(n·ln n), это тревожный звоночек. В зависимости от вакансии я могу еще попросить оценить сложность простейшей сортировки, например, пузырьком, чтобы отличить пробел в знаниях от неспособности понимать эту тему.

Почему важно иметь представление об алгоритмической сложности? Что будет, если писать код без этого представления? Недавно нашелся пример: если на рабочем столе создать 1000 файлов, Windows тратит 20 секунд на открытие главного меню. И всё потому, что какой-то криворукий программист написал алгоритм сложности O(n2) там, где можно было обойтись O(n). Подробности читайте на хабре.

Поделиться

Визуальная конструкция элементов интерфейса Ctrl Анализ данных — В кресле препода №7

Читайте также

Как разработать систему рекомендаций
Продолжим разговор о системе рекомендаций в S2. Эта система подбирает к каждой заметке набор других заметок, которые посетитель может почитать дальше.
2023
Задача о педантичном пассажире
В недавней поездке наблюдал, как люди рассаживаются в автобусе.
2023
Как додуматься до решения олимпиадной задачи?
Я иногда решаю «для себя» какие-нибудь сложные задачи по физике или математике.
2021
Автоморфные числа
В этой заметке мы исследуем элементарными школьными методами свойства интересного множества чисел, которые называют автоморфными.
2005
Ajax под прицелом
Технология Ajax и это модное «Web 2.0» уже несколько лет у всех на слуху.
2007

Комментарии

#1. 2 марта 2021 года, 10:58. Евгений Степанищев пишет:
Наилучшая сортировка по какому критерию? Если по алгоритмической сложности, то там O(n).
#2. 2 марта 2021 года, 11:37. пишет:
Когда кандидат задает вопрос о критерии, я отвечаю: «По количеству операций с произвольным массивом чисел». O(n) на произвольных входных данных не получится сделать.

Оставьте свой комментарий


Формулы на латехе: $$f(x) = x^2-\sqrt{x}$$ превратится в $$f(x) = x^2-\sqrt{x}$$.
Выделение текста: [i]курсивом[/i] или [b]жирным[/b].
Цитату оформляйте так: [q = имя автора]цитата[/q] или [q]еще цитата[/q].
Других команд или HTML-тегов здесь нет.

Записи