Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.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 绘制欧几里得平均步数';s扩展算法_Python_Algorithm_Time Complexity_Asymptotic Complexity - Fatal编程技术网

Python 绘制欧几里得平均步数';s扩展算法

Python 绘制欧几里得平均步数';s扩展算法,python,algorithm,time-complexity,asymptotic-complexity,Python,Algorithm,Time Complexity,Asymptotic Complexity,我的算法教授给了我以下作业: 编写一个Python程序来实现。然后执行以下实验:在给定大小的输入的随机选择上运行它,大小由一些参数N限定;计算每个输入大小n的算法平均步数≤ N、 并使用gnuplot绘制结果。f(n)是欧几里得扩展算法在输入大小n上的“平均步数”是什么样的?请注意,大小与值不同;大小为n的输入是具有n位二进制表示的输入 算法的编程是最简单的部分,但我只是想确保我知道接下来该怎么做。我可以将N修正为任意值。我生成一组a和b的随机值,以输入算法,该算法的二进制长度(n)以n为界。在

我的算法教授给了我以下作业:

编写一个Python程序来实现。然后执行以下实验:在给定大小的输入的随机选择上运行它,大小由一些参数N限定;计算每个输入大小n的算法平均步数≤ N、 并使用gnuplot绘制结果。f(n)是欧几里得扩展算法在输入大小n上的“平均步数”是什么样的?请注意,大小与值不同;大小为n的输入是具有n位二进制表示的输入

算法的编程是最简单的部分,但我只是想确保我知道接下来该怎么做。我可以将N修正为任意值。我生成一组a和b的随机值,以输入算法,该算法的二进制长度(n)以n为界。在算法运行时,我有一个计数器,用于跟踪特定a和b的步数(忽略微不足道的线性运算)

最后,我将每个单独输入a和b的长度相加,表示二进制表示,表示图形上的单个x值。我的单个y值将是特定a和b的计数器变量。这是正确的思考方式吗

作为后续问题,我还知道该算法的最佳情况是θ(1),最坏情况是O(log(n)),因此我的“平均”图应该位于这两者之间。如何手动计算平均运行时间以验证结束图是否正确

谢谢