我们的讲师给了我们他的代码
procedure linear_search (x: integer; a1, a2, …, an: integers)
i := 1
while ( i ≤ n and x ≠ ai )
i := i + 1
if i ≤ n then
location := i
else
location := 0
这是我的
method Search (x integer, a1,a2....an integers)
for i from 1 to n
start
if ai = x, location = i, break.
else i++, location = 0.
stop
就步骤而言,我的代码采取2n + 1
步骤完成,而其他代码采取2n + 2
,因此我的代码在逻辑上更快。但是,在大 O 术语中,它们都是O(n)
. 那我怎么说,哪一个更快?还是我说他们是平等的?