Strona 1 z 1

[Algorytmika] rosnacy segment w tablicy

: 14 paź 2017, o 13:53
autor: leg14
Powiedzmy ze mam tablice n- elementowa i chce sprawdzic, czy jest w niej segment 3 rosnacych wartosci (powiedzmy, ze nie musza rosnac ostro).
Ja to robie tak:

Kod: Zaznacz cały


int funkcja (int tab, int lewy ) {

int w ;

w = znajdzrosnacy(tab, lewy);

if (w >= n) then return false;

else if (tab[w+1] >=tab[w]) return true;

else return funkcja(tab,w+1);

}



(funkcja znajdz rosnacy szuka w tablicy (poczynajac od elementu tab[lewy]) pierwszego elementu wiekszego od poprzedniego i zwraca jego wspolrzedna).
Da sie to zrobic szybciej?

Re: [Algorytmika] rosnacy segment w tablicy

: 15 paź 2017, o 01:24
autor: Afish
Jeżeli to ma złożoność liniową(a na oko ma), to nie da się.