最长公共子序列问题的时间与输入大小的关系

2024-05-16 07:51:51 发布

您现在位置:Python中文网/ 问答频道 /正文

对于递归和动态编程方法中最长的公共子序列问题,我希望根据输入的大小来绘制时间。到目前为止,我已经开发了两种评估lcs函数的程序,一个简单的随机字符串生成器(在here的帮助下)和一个program来绘制图形。现在我需要用下面的方式连接所有这些。在

现在我要把这些联系起来。也就是说,计算lcs的两个程序应该运行大约10次,其中来自简单随机字符串生成器的输出作为这些程序的命令行参数。在

计算执行这些程序所需的时间,并将其与所用字符串的长度一起存储在一个类似

l=15, r=0.003, c=0.001 

python程序对此进行解析,以填充以下列表

^{pr2}$

然后绘制图形。关于上述问题,我有以下几个问题。在

1)如何将一个C程序的输出作为命令行参数传递给另一个C程序?在

2)是否有函数可以计算在微秒内执行该函数所需的时间?目前我唯一的选择是unix中的时间函数。作为一个命令行实用程序,处理起来更加困难。在

如有任何帮助,将不胜感激。在


Tags: 方法函数字符串命令行程序图形here编程
2条回答

如果从一个程序传递到另一个程序的数据很小并且可以转换为字符格式,则可以将其作为一个或多个命令行参数传递。如果没有,可以将其写入文件并将其名称作为参数传递。在

对于Python程序,许多人使用timeit模块的Timer类来衡量代码的执行速度。您也可以使用clock()time()模块中的clock()time()函数自己滚。解决方案取决于你在哪个平台上运行。在

1)有很多方法,最简单的方法是使用system和从输出构造的字符串(或者{}将其作为管道打开,如果需要读回其输出),或者如果您希望离开当前程序,则可以使用各种exec(将输出放在参数中)。在

shshell中,您也可以使用command2 $(command1 args_to_command_1)来执行此操作

2)对于C中的计时,请参见clock和{}。在

相关问题 更多 >