这段matlab代码时间复杂度是多少?
for h=1:P
if mplength(:,h)> D0
bufuhemp(:,h)=[h];
end
end
这段matlab代码时间复杂度是多少?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- soar3033 2021-11-18 21:33关注
if mplength(:,h)> D0
bufuhemp(:,h)=[h];
end上面这段是固定的判断,在时间复杂度上可以看成定值。我们在matlab里可以以disp(1)代替。
这样一来程序就成了
for h=1:P
disp(1)
end
显然,假设disp(1)的执行时间是k,则总时间是k*P。执行实现与P的大小程线性关系,所以是O(n)然后可以在matlab里验证一下,先把p改成10000,显示运行时间是0.26秒
再把p改成100000,显示运行时间是2.5秒,基本是之前的10倍,显示的确是O(n)的关系
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 这种微信登录授权 谁可以做啊
- ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
- ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
- ¥15 网络设备配置与管理这个该怎么弄
- ¥20 机器学习能否像多层线性模型一样处理嵌套数据
- ¥20 西门子S7-Graph,S7-300,梯形图
- ¥50 用易语言http 访问不了网页
- ¥50 safari浏览器fetch提交数据后数据丢失问题
- ¥15 matlab不知道怎么改,求解答!!
- ¥15 永磁直线电机的电流环pi调不出来