1.Worst Case Big O с Java Алгоритмы
for(i = 0; i < 3; i++){
for(j = 0; j < 10; j++){
print i+j;
}
}
Я бы предположил, Big O будет 30, так как наибольшее количество раз будет 3 * 10.
2.
for(i = 0; i < n; i++){
for(j = 0; j < m; j++){
print i+j;
}
}
Будет O быть н * м?
3.
for(i = 0; i < n; i++){
for(j = 0; j < m; j++){
for(int k = 1; k < 1000; k *= 2){
print i+j+k;
}
}
}
н * м * журнал базы 2 (1000) Big O в NLog (п)
4.
for(i = 0; i < n - 10; i++){
for(j = 0; j < m/2; j++){
print i+j;
}
}
5.
for(i = 0; i < n; i++){
print i;
}
//n and m are some integers
for(j = 1; j < m; j *= 2){
print j;
}
Может кто-нибудь дать мне руку с этим, если вы знаете w Big O. Я смотрю на них и в недоумении. Надеюсь, что я разместил это в нужном месте, я считаю эти проблемы трудными. Я ценю любую помощь.
'Big O будет 30' это O (1), так как 3 и 10 являются очень маленькими числами. Если бы они могли быть сколь угодно большими, это было бы O (N-квадрат) –
Ok Big O of 1 имеет смысл. Я думаю, что 30 тоже правильно, но не конвенция. – Javaturtle