AllDistinct(a1 , . . . , an )
if (n = 1)
return True
for i := n down to 2
begin
if (LinearSearch(a1 , . . . , ai−1 ; ai ) != 0)
return False
end
return True
Дайте большую оценку времени работы AllDistinct. Чтобы получить полный балл, вы должны показать работу или кратко объяснить свой ответ.
Таким образом, фактический ответ для этого в соответствии с решением этой проблемы - O (n ^ 2). Однако, поскольку BigO — наихудшее время работы, мог ли я ответить O(n^100000) и избежать наказания за это? Они никак не могут снять баллы за это, поскольку технически это правильный ответ, верно? Хотя более полезный O(n^2) в этом алгоритме очевиден, я спрашиваю, потому что у нас может быть более сложный алгоритм на предстоящем экзамене, и на случай, если я не смогу вычислить «жесткую» границу, я мог бы составить очень большой значение, и оно все равно должно быть правильным, верно?