Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 试图通过绘制图形来可视化时间复杂性,意外输出_Python_Time_Time Complexity - Fatal编程技术网

Python 试图通过绘制图形来可视化时间复杂性,意外输出

Python 试图通过绘制图形来可视化时间复杂性,意外输出,python,time,time-complexity,Python,Time,Time Complexity,我定义了一个简单的函数,用于计算列表中元素的总和。它具有线性复杂性。我尝试如下方式可视化图形(X轴表示n=列表中的元素数量,Y轴表示计算列表中包含n个元素的元素之和所需的时间): 图形输出不是线性的。而且,每次我重新运行时,输出都会发生变化。 我正在使用Macbook Pro,有许多chrome窗口,打开了许多带有youtube链接的选项卡,但都已暂停。这会影响图形还是我在绘图时遗漏了什么?尝试将X值设置得更大,可能会高达1000,如果速度太慢,则降低1000常量(运行函数的次数)。您的代码没有

我定义了一个简单的函数,用于计算列表中元素的总和。它具有线性复杂性。我尝试如下方式可视化图形(X轴表示n=列表中的元素数量,Y轴表示计算列表中包含n个元素的元素之和所需的时间):

图形输出不是线性的。而且,每次我重新运行时,输出都会发生变化。
我正在使用Macbook Pro,有许多chrome窗口,打开了许多带有youtube链接的选项卡,但都已暂停。这会影响图形还是我在绘图时遗漏了什么?

尝试将X值设置得更大,可能会高达1000,如果速度太慢,则降低1000常量(运行函数的次数)。您的代码没有任何作用,它只是定义了一个函数,
code\u to\u test
但从不调用它。@MaisyDoge13:使用X=[50、100、200、300、400、500、600、700、800、900]尝试了您的建议,并且将1000减少到100,但没有区别:(@anz我已经向您解释过,您的
X
不起任何作用,也不影响正在计时的代码,它只是定义了一个函数,从不调用它。
import matplotlib.pyplot as plt
code_to_test='''

def find_sum(input_list):
    total =0
    for i in input_list:           
        total +=i
    return total

'''

X=[5, 10, 15, 20, 25, 30, 35, 40, 45, 50]

Y=[]

for n in X:
    input_list=list(range(n))  
    elapsed_time=timeit.timeit(code_to_test, number=1000)/1000
    Y.append(elapsed_time)

print(len(Y))

plt.plot(X,Y)