A na O(n^2) jsi prisel jak?
Kdyz otestujes hodnotu na prvnim radku v prvnim cyklu a cisla jsou serazena, tak ve druhem cyklu prvnim kroku s jednickou uz nepracujes, ne? Takze to bude n/2 * (n+1) kroku, soucet rady cisel 1+2+3...+n.
A dal to uz vyplyva z toho, ze to mas serazene a z predchozich kroku.
Takze, kriticke hodnoty algoritmu pak jsou cislo<[0]+[1] a cislo=[n-1]+[n] (cislovani radku je od nuly), cili cislo <1+2 (nejmene kroku, 1) nebo cislo>3+4(nejvic kroku).
soucet cisel = 4
1 | 1+2<=4 ? 1+2==4 : end
2 | 1+2<=4 ? 1+2==4 : end
2 | 1+3<=4 ? 1+3==4 : end
3 | 1+4<=4 ? 1+4==4 : end -- 1+4 nevyhovuje prvni podmince, algoritmus skonci
4
1
2 | 2+2<=4 ? 1+2==4 : end
2 | 2+3<=4 ? 2+3==4 : end -- 2+3 nevyhovuje prvni podmince, algoritmus skonci
3
4
1
2
2 | 2+3<=4 ? 2+3==4 : end -- 2+3 nevyhovuje prvni podmince, algoritmus skonci
3
4
A kdyz se cyklus provede jen 1x a hned skonci a protoze jsou cisla serazena,
nema vyznam dal testovat.