Здравствуйте! Почему у программистов такие лютые собеседования? Я такого не видел больше ни в одной профессии. На собеседовании программистам устраивают самый настоящий жёсткий квалификационный экзамен, спрашивая всё, что только можно спросить + всякие задачки на логику, алгоритмы и т.п. Зачем так жёстко-то? Будто в Кремль устраиваешься программистом... Это жесть... Невозможно же быть асом во всех аспектах этой профессии... Но если что не ответил не возьмут... Это жесть просто... Чтобы пройти собеседования, нужно лет 5 жить в обнимку с компьютером и учиться в режиме 24/7... Это же нереально...
Собеседования такие жёсткие т.к. никто не хочет в команду человека который не понимает чем O(n) отличается от O(1)
Командам нужно закрыть дырку, а не возиться с джуном, которому нужно объяснять нюансы.
Возможно, я напишу бред, но, как я понял, O(n) - это число, где n - некий индекс, а O(1) - это O * 1 ?
Артур Дорогомилов, это асимптотическая оценка сложности алгоритмов в худшем случае. O(n) это линейная сложность, т.е. кол-во операций линейно пропорционально кол-ву входных данных. Можно рассмотреть на примере поиска в списке. Есть односвязный список, чтобы найти там элемент, вам в худшем случае понадобится пройти по всем его узлам. Если в списке 3 узла, то ваш худший случай O(3) или 3 операции чтения. Если их n - то О(n) или n операций. Бывают структуры данных позволяющие найти любой элемент за одну операцию например хеш таблицы, там поиск любого элемента осуществляется за 1 операцию или O(1)
Если плаваете в теме рекомендую посмотреть cs50 или почитать что-то по теории алгоритмов
то, что вам адекватно, кому-то жесть, как сложно ))
Жестоко, но я согласен.