【发布时间】:2016-02-08 18:28:13
【问题描述】:
这是我的代码:
image = imread ('imageFile.jpg');
[m,n]=size(image);
for i=1:m
mask = image(i,:);
Mean = mean(mask(:));
stdm = std(mask(:));
bwx(i,:) = ( mask > Mean*( 10 + k * ( stdm / r+10 )));
end
我应该将此算法与时间方面的另一种算法进行比较。如何计算该算法的时间复杂度?
r 和 k 是常数。
mean 和 std 是 Matlab 函数。
mean = 每行图像的平均值。
std = 每行图像的标准差。
【问题讨论】:
-
im 的大小是 C 列 X N 行。在 for 循环的每次迭代中,您拉出一行并检查它。那么你在每次迭代中取了多少个元素的平均值?均值的时间复杂度是多少?标准开发也是如此。
-
亲爱的@TonyRuth,我编辑了我的问题,希望你能帮助我。
-
一开始我误读了部分代码,但发现错误后更改了我的评论。试着回答我评论中的两个问题,你就会很好地找到这个算法的时间复杂度。
标签: algorithm performance matlab time