ПРОГРАММА = АЛГОРИТМ + СТРУКТУРА ДАННЫХ (Н. Вирт, 1976)
Когда заходит речь про алгоритмы, нельзя не упомянуть понятие «сложность алгоритма» (обозначается как Big O). Оно дает понимание того, насколько эффективен алгоритм.
Если вы способны оценить код в терминах Big O, скорее всего вас считают «умным парнем». И скорее всего вы пройдете ваше следующее собеседование. Вас не остановит вопрос можно ли уменьшить сложность какого-нибудь фрагмента кода до O(n log(n)) против O(n^2).
Ниже приведена таблица, которая поможет Вам ориентироваться в вопросах времени выполнения и о расходе памяти программ, при выборе той или иной структуры данных.