Временная сложность модуля random
в Python зависит от конкретной используемой функции. Вот некоторые часто используемые методы из модуля random
, а также их временная сложность:
-
random.random()
: этот метод генерирует случайное число с плавающей точкой от 0 до 1. Его временная сложность равна O(1), поскольку он просто возвращает заранее вычисленное случайное число. значение. -
random.randint(a, b)
: этот метод возвращает случайное целое число междуa
иb
(включительно). Временная сложность равна O(1), поскольку она предполагает генерацию случайного целого числа в заданном диапазоне. -
random.choice(seq)
: этот метод возвращает случайный элемент из непустой последовательностиseq
. Временная сложность равна O(1), поскольку элемент выбирается напрямую, без перебора всей последовательности. -
random.shuffle(seq)
: этот метод случайным образом перемешивает элементы последовательностиseq
на месте. Его временная сложность равна O(n), где n — длина последовательности, поскольку для выполнения перетасовки необходимо перебрать все элементы. -
random.sample(population, k)
: этот метод возвращает список изk
уникальных элементов, случайно выбранных из последовательности совокупности. Временная сложность равна O(k), еслиk
меньше размера популяции. Еслиk
сопоставим с размером популяции, временная сложность равна O(n), где n — размер популяции.