Какова временная сложность операций List: add, remove, contains?
Для чего используется метод contains в последовательностях?
Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Рейтинг:
4
Сложность:
5
Add (в конец): В среднем O(1), но в худшем случае O(n) из-за необходимости копирования при расширении.
Remove (из середины/начала): O(n), так как требует сдвига всех последующих элементов.
Contains: O(n), так как требует последовательного перебора всех элементов в худшем случае.
Рейтинг:
3
Сложность:
4
Метод __contains__ используется для проверки наличия элемента в контейнере при использовании оператора in. Если метод реализован, Python вызывает его напрямую. Если его нет, Python пытается итерироваться по объекту и сравнивать элементы. Реализация __contains__ обычно делает проверку быстрее.