Матрици!
18 отговора
1661 прегледа
Матрици!
Ако е дадена матрицата А[j],то как се намира най-големия елемент в матрицата!Примерно имаме матрицата
1 3 5 6 7
9 4 3 1 3
0 0 0 0 10
4 6 9 9 9
1 2 3 4 5
трябва да изведе 10.Идея си нямам!
1 3 5 6 7
9 4 3 1 3
0 0 0 0 10
4 6 9 9 9
1 2 3 4 5
трябва да изведе 10.Идея си нямам!
Re: Матрици!
Висша математика трябва. Намираш локалните екстремуми, правиш нова матрица с тях, отново намираш екстремумите и така, докато остане само един елемент.
Сигнатура!
Сигнатура!
Re: Матрици!
Като си прочетеш лекциите/учебника/упражненията/каквото там имаш...
Понякога съм толкова добра,
че цялата изтръпвам и боли ме...
Понякога съм толкова добра,
че цялата изтръпвам и боли ме...
Extremumi???
Uf, kakwi extremumi, kakwi 5 lewa? Ako sam razbral prawilno, prosto triabwa da se obhodiat wsichki elementi na matricata i da se nameri koi e naj-golemia... Nesto po-ewektiwno mislia che ne move da se izmisli...
Re: Матрици!
Mайтапят се хората,
но за такъв въпрос ...
Така е на паскал. (за матрица 5 по 5)
Лесно ще си го препишеш на какъвто там
език ползваш.
но за такъв въпрос ...
a_max:=A[1,1];
for k:=1 to 5 do
for j:=1 to 5 do
if A[k,j]>a_max then a_max:=A[k,j];
Writeln(a_max);
Така е на паскал. (за матрица 5 по 5)
Лесно ще си го препишеш на какъвто там
език ползваш.
Re: Extremumi???
ни са шашкай. може момичето да пита за аналогови компютри (не че имам представа там как се намира максимум
)
Сигнатура!
Сигнатура!
Re: Матрици!
Понапъни сивото пич Сиси може да е момиче а О^2 не е малко, пък и кода ти е закотвен с тези цифри в него.
I wanna read interesting postingz
I wanna read interesting postingz
Re: Extremumi???
ми по нормалния начин там, с производните алабала...бе аналогови компютри, нали знаеш
Абе не сте съвсем прави
На пръв поглед наистина изглежда, че няма друг начин, освен да се обходят всички елементи. Ако имаме векторен процесор обаче, може и по-бързо да стане.
Така като ги гледам числата са малки и цели, тоест може да свършат работа и MMX инструкциите. На N стъпки правим OR поотделно на n-те реда (или колони, без значение). Така намираме нужния ред (дано няма много колизии). После обхождаме само този ред на още N стъпки, за да си намерим екстремума.
Ще работи за числа <256, а за колоните и редовете, ако са повече, няма проблем, ама малко ще се усложни кодът.
Недостатък е, че ще са ни необходими N временни променливи вместо една, ама нали бързина гоним.
Така като ги гледам числата са малки и цели, тоест може да свършат работа и MMX инструкциите. На N стъпки правим OR поотделно на n-те реда (или колони, без значение). Така намираме нужния ред (дано няма много колизии). После обхождаме само този ред на още N стъпки, за да си намерим екстремума.
Ще работи за числа <256, а за колоните и редовете, ако са повече, няма проблем, ама малко ще се усложни кодът.
Недостатък е, че ще са ни необходими N временни променливи вместо една, ама нали бързина гоним.
Re: Абе не сте съвсем прави
Постингът ти ме заинтригува, ще обясниш ли малко по-подробно, и ако може да се подкреписш с някое url :)
Re: Матрици!
"а О^2 не е малко,"
Ako priemem che dejstwieto se razwiwa na edin obshtopriet abstrakten komputar (srawnenieto na 2 chisla otnema edinica wreme i ednowremenno se srawnqwat ne poweche ot dwe chisla)
to slovnostta na algorityna predloven po nagore e tochno O(n) , kydeto n = 25 - dave na praktika shte se izwyrshat 24 srawneniq.
AKo komputara move da srawnqwa nqkolko chisla nawednyv togawa i po-malko ot 25 (24). No nikoga O(n^2) ...
za kakwo O^2 stawa duma ?
Yontchew
Ako priemem che dejstwieto se razwiwa na edin obshtopriet abstrakten komputar (srawnenieto na 2 chisla otnema edinica wreme i ednowremenno se srawnqwat ne poweche ot dwe chisla)
to slovnostta na algorityna predloven po nagore e tochno O(n) , kydeto n = 25 - dave na praktika shte se izwyrshat 24 srawneniq.
AKo komputara move da srawnqwa nqkolko chisla nawednyv togawa i po-malko ot 25 (24). No nikoga O(n^2) ...
za kakwo O^2 stawa duma ?
Yontchew
Re: Матрици!
Пич ти каде живееш? Там кадето всички матрици са 5x5 ли? Нямам време да споря за глупости. Аре успехи.
I wanna read interesting postingz
I wanna read interesting postingz
Re: Матрици!
Viweq na razlichni mesta prez razlichnite dni ...
5x5 ili KxK nqma znachenie .... slovnostta na zadachkata si e O(n)
Uspehi i na teb!
Yontchew
5x5 ili KxK nqma znachenie .... slovnostta na zadachkata si e O(n)
Uspehi i na teb!
Yontchew
Re: Матрици!
я и аз да се намеся - ако N е размера на квадратна матрица, а n = N*N, тогава сложността наистина е О(n). Ама е O(N^2)....
Сигнатура!
Сигнатура!
Re: Матрици!
Ochewidno sporyt se dylvi na towa, che ne se utochnqwa kakwo wzimame za razmer na whodnite danni !
Razmera na matricata ili broq na chislata w neq ?
Ako smqtash slovnostta sprqmo razmera na matricata togawa da - O(n^2), no po-byrz algoritym prosto nqma (oswen ako nqma nqkakwi drugi uslowiq) - taka che otnosno gornata zabelevka deto O(n^2) ne bilo malko , se pita koe shte e po-byrzo?
A ako smqtash slovnostta standartno sprqmo razmera na whodnite danni
togawa tq e O(K) - linejna slovnost (K = n*n , n razmer na matricata, K e broq na chislata).
pochitaniq,
Yontchew
Razmera na matricata ili broq na chislata w neq ?
Ako smqtash slovnostta sprqmo razmera na matricata togawa da - O(n^2), no po-byrz algoritym prosto nqma (oswen ako nqma nqkakwi drugi uslowiq) - taka che otnosno gornata zabelevka deto O(n^2) ne bilo malko , se pita koe shte e po-byrzo?
A ako smqtash slovnostta standartno sprqmo razmera na whodnite danni
togawa tq e O(K) - linejna slovnost (K = n*n , n razmer na matricata, K e broq na chislata).
pochitaniq,
Yontchew
Open your mind!
Абе винаги може да се направи по-бързо!
Пускаш си клъстер от n компютъра и им даваш по един ред в който да намерят най-голямото число, така използваш максимално времето за работа. После имаш само да минеш още веднъж през отговорите и да вземеш най-големия. Така сложността пада едва на O(n).
Ама ако НАИСТИНА искаме да е много много много бързо, а точността не е от чак толкоз голямо значение, можем да напишем:
return a[0][0];
Така методът е с висока бързина, и отговорът е с достоверност 1/(n*n).
Аналогично може да се задава доверителна вероятност и да се проверява определена част от елементите.
Мечтата е мисъл, мисълта е идея, всяка идея се реализира. Аз не мечтая, а реализирам идеите си.
Пускаш си клъстер от n компютъра и им даваш по един ред в който да намерят най-голямото число, така използваш максимално времето за работа. После имаш само да минеш още веднъж през отговорите и да вземеш най-големия. Така сложността пада едва на O(n).
Ама ако НАИСТИНА искаме да е много много много бързо, а точността не е от чак толкоз голямо значение, можем да напишем:
return a[0][0];
Така методът е с висока бързина, и отговорът е с достоверност 1/(n*n).
Аналогично може да се задава доверителна вероятност и да се проверява определена част от елементите.
Мечтата е мисъл, мисълта е идея, всяка идея се реализира. Аз не мечтая, а реализирам идеите си.