Не могли бы вы объяснить, как я могу получить наихудший вариант Big O этого алгоритма. Я читал свой учебник, и я наткнулся на аналогичный алгоритм, похожий на этот, но до сих пор не понимаю логики.Худший случай работы Big O
int t=0;
for(int x=0;x<num.length;x++){
for(int y=0;y<num.length;y++){
for(int p=0;p<num.length;p++){
for(int w=0;w<num.length;w++){
if(num[p][w]>num[x][y])
{
t=num[x][y];
num[x][y]=num[p][w];
num[p][w]=t;
}
}
}
}
}
Что делать, если у меня есть программа, а не какой-то конкретный алгоритм, который выполняет «что-то» в конкретном ». Предположим, у меня есть программа, которая управляет (выполняет) различные задачи, например, допустим, у меня есть программа, которая генерирует случайные числа в матрице (массив 2d), а затем сортирует их в порядке возрастания. Пользователю предлагается ввести любое число, которое заставит программу распечатать сообщение, определяющее, выбран ли номер в массиве или нет. Я должен оценивать каждое утверждение отдельно? – Plrr
Как различные алгоритмы с соответствующими знаками Big O доходят до завершения наихудшего времени работы (Big O), когда каждый алгоритм отличается. Например, когда программа имеет алгоритмы: O (n^2), O (1), O (n) .... Какая из них представляет всю программу? – Plrr
@Plrr Когда у вас есть несколько Big O. Затем это представление : наилучший сценарий, сценарий среднего размера и наихудший сценарий. В программировании мы стремимся к среднему сценарию. Однако, в зависимости от ввода данных, который у вас есть. Вы можете получить наилучший сценарий или даже самый худший сценарий. Во всем, что «случается больше всего», средний случай. Вы справляетесь с этим много. – Juniar