Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: algorithm, time complexity, big o

Что знаешь о сложности алгоритма?

Этот вопрос проверяет знание оценки сложности алгоритмов и того, как анализировать эффективность алгоритмов с использованием нотации Big-O.

Короткий ответ

Оценка сложности алгоритма помогает измерить, как быстро или медленно работает алгоритм в зависимости от размера входных данных. В Python и других языках часто используют нотацию Big-O, чтобы выразить время выполнения или пространство, необходимое для алгоритма в терминах его входных данных. Например, O(1), O(n), O(n^2).

Длинный ответ

Оценка сложности алгоритма позволяет измерить, как изменение размера входных данных влияет на время работы или используемую память. В Python для оценки сложности используется нотация Big-O, которая описывает, как быстро растет время работы алгоритма или его потребности в памяти.

Вот основные типы сложности:

  • O(1) — Константное время. Время выполнения не зависит от размера входных данных. 

Пример:

def constant_time_example(arr):
   	 return arr[0]  # O(1)
  • O(n) — Линейное время. Время выполнения пропорционально количеству элементов в данных. 

Пример:

def linear_time_example(arr):
    	for item in arr:
        	print(item)  # O(n)
  • O(n^2) — Квадратичное время. Например, вложенные циклы, где количество операций пропорционально квадрату размера входных данных. 

Пример:

def quadratic_time_example(arr):
    	for i in arr:
        	for j in arr:
            		print(i, j)  # O(n^2)

Пример из реальной жизни

При сортировке массива алгоритм быстрой сортировки имеет среднюю сложность O(n log n), что значительно быстрее, чем сортировка методом пузырька, который имеет сложность O(n^2).

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    3

  • Сложность:

    5

Навыки

  • Python

    Python

Ключевые слова

#algorithm

#time complexity

#big o

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.