优化,时间复杂度和流程图(Scilab)

问题描述 投票:0回答:1

我曾尝试优化此代码,但现在无法对其进行优化。

请帮助建立该算法的流程图。

A = [-1,0,1,2,3,5,6,8,10,13,19,23,45];
B = [0,1,3,6,7,8,9,12,45];
N1 = length(A);
N2 = length(B);
t = 1;
m = 10;
C = [];
for i=1:N1
    for j=1:N2 
        if A(i)==B(j)
            break
        else
            if j==N2
               C(t)=A(i);
               t=t+1;
           end
       end
   end
end
disp(C);
N3=length(C);
R = [];
y = 1;
for l=1:N3
    if C(l)>m
       R(y)=C(l);
       y=y+1;
   end 
end
disp(R);

如何找到算法的时间复杂度

我认为应该是O(n)。

主要(基本)操作:比较A(i)== B(j)但我不确定。

而且我做不到

复杂度函数(最坏的情况)

最差的计算复杂度:𝐹(𝑁)

optimization time-complexity shortcode scilab flowchart
1个回答
0
投票

这似乎可能是作业; p

关于时间复杂度,由于在另一个for循环中有一个for循环,因此看起来更像是O(n²)。我最近开始观看我强烈推荐的有关Udemy的算法和数据结构的课程。他很好地解释了BigO符号:)Link到课程。 (无隶属关系)

© www.soinside.com 2019 - 2024. All rights reserved.