wglnbb 2021-11-18 20:43 采纳率: 80%
浏览 70
已结题

这段matlab代码时间复杂度是多少?

这段matlab代码时间复杂度是多少?
for h=1:P
if mplength(:,h)> D0
bufuhemp(:,h)=[h];
end
end

  • 写回答

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秒

    img

    再把p改成100000,显示运行时间是2.5秒,基本是之前的10倍,显示的确是O(n)的关系

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月27日
  • 已采纳回答 11月19日
  • 修改了问题 11月18日
  • 创建了问题 11月18日

悬赏问题

  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来