Может кто-нибудь объяснить, почему 100000 дано randrange в качестве начального значения в этом коде? - PullRequest
0 голосов
/ 11 января 2019

Я слежу за видео для курса Interactive Python по структурам данных и алгоритмам. В одном сегменте появляется следующий фрагмент кода. Это демонстрация примера сложности O (n ** 2).

Предполагается, что он будет проходить в цикле, начиная с 1000 и заканчивая на 10000. Но я понятия не имею, почему 100000 дается функции randrange в понимании списка в строке 2.

Заранее спасибо!

Примечание: я следую этому курсу - http://interactivepython.org/runestone/static/pythonds/AlgorithmAnalysis/BigONotation.html

for listSize in range(1000,10001,1000):
    alist = [randrange(100000) for x in range(listSize)]
    start =  time.time()
    print(findmin(alist))
    end = time.time()
    print("size: %d time: %f" % (listSize, end-start))

1 Ответ

0 голосов
/ 11 января 2019

Это пробная версия , тестирование скорости findmin(). Это лучше всего делать с рандомизированными данными, чтобы избежать патологических случаев. Понимание списка производит тестовые данные. 100000 - это просто верхняя граница для случайных значений в этом списке, достаточно высокая, чтобы гарантировать, что даже для списка с 10k целыми числами будет хороший разброс значений.

Обратите внимание, что для выполнения временных испытаний лучше использовать модуль timeit .

...