Помогите реализовать алгоритм

  • Автор темы Guest
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest

В институте задали написать очень простую программу:
"В заданной целочисленной матрице A (N,M) определить разность между минимум и максимум по модулю элементами".
Естественно что алгоритм несложный и выглядит он примерно так:
Код:
max=A[0][0]; 
min=A[0][0]; 
for (int i=0;i<=N;i++) 
{ 
for(int j=0;j<=M;j++) 
x1=A[i][j]; 
if(x1 >= max){max=x1;} 
if(x1 < min){min=x1;} 


} 
S=(abs(max)-abs(min));

У меня вопрос, существует ли более оптимальный алгоритм (без тупого перебора элементов).
И еще если кто нибудь знает, что такое временая сложность алгоритма и как ее находить, тоже сюда пишите.
 
?

????

Судя по всему этот простой метод в "лоб" является самым оптимальным.
Только у тебя неточность:
В заданной целочисленной матрице A (N,M) определить разность между минимум и максимум по модулю элементами
если взять массив
Код:
-2 1  5
3 -6  1
то минимумом и максимумом по модулю будут |-1| и |-6| и результат -5, а по твоему алгортму |-6| и |5| => 1
 
G

Guest

час алгарытма n*n, але лепей нязробіш, калі не перабярэш усі элементы, дык не даведаешся дакладна які болей а які меней.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:  ТелеграмВконтактеДзенФейсбукТвиттерЮтуб