Ответ
Сложность алгоритма — это оценка количества ресурсов (времени/памяти), которые потребуются для его выполнения, в зависимости от размера входных данных.
Основные виды:
- O(1) – константная (доступ по индексу в массиве)
- O(n) – линейная (поиск в неотсортированном массиве)
- O(log n) – логарифмическая (бинарный поиск)
- O(n²) – квадратичная (пузырьковая сортировка)
// O(n) – линейный поиск
fun linearSearch(list: List<Int>, target: Int): Int? {
for (i in list.indices) {
if (list[i] == target) return i
}
return null
}
Нюансы:
- Анализируется худший случай (Big-O)
- Константы и меньшие степени игнорируются (O(2n) → O(n))
- Влияет на производительность при больших данных
Видео-ответы
▶
PHP Senior: Онлайн-собеседование
▶
Как нужно проходить собеседование по Python, чтобы получить оффер!
▶
Миддл или же чего-то не хватает? / Техсобес на позицию Middle Python Developer / Mock interview
▶
#8 Маркетолог ушел на фронт. Собеседование на Frontend Middle разработчика
▶
Ефремов Никита (Новосибирск) собеседование backend python разработчик
▶
Техническое собеседование на позицию Python Junior | Solvery + Moscow Python
▶
Публичное собеседование: iOS-разработчик [Хекслет]