加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

分析用C编写的函数的时间复杂度

发布时间:2020-12-16 09:30:51 所属栏目:百科 来源:网络整理
导读:我在C中实现了最长公共子序列问题.我希望比较执行解决方案的递归版本和动态编程版本所花费的时间.如何在各种输入的两个版本中找到运行LCS功能所需的时间?我也可以使用SciPy在图表上绘制这些值并推断时间复杂度吗? 提前致谢, 剃刀 解决方法 对于你问题的第
我在C中实现了最长公共子序列问题.我希望比较执行解决方案的递归版本和动态编程版本所花费的时间.如何在各种输入的两个版本中找到运行LCS功能所需的时间?我也可以使用SciPy在图表上绘制这些值并推断时间复杂度吗?

提前致谢,

剃刀

解决方法

对于你问题的第二部分:简短的回答是肯定的,你可以.您需要以便于从 Python解析的格式获取两个数据集(每个解决方案一个).就像是:

x y z

在每一行上,其中x是序列长度,y是动态解决方案所用的时间,z是递归解决方案所用的时间

然后,在Python中:

# Load these from your data sets.
sequence_lengths = ...
recursive_times  = ...
dynamic_times    = ...

import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
p1 = ax.plot(sequence_lengths,recursive_times,'r',linewidth=2)
p2 = ax.plot(sequence_lengths,dynamic_times,'b',linewidth=2)

plt.xlabel('Sequence length')
plt.ylabel('Time')
plt.title('LCS timing')
plt.grid(True)
plt.show()

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读