Pagini recente » Istoria paginii utilizator/[email protected] | Diferente pentru problema/light2 intre reviziile 7 si 6 | Monitorul de evaluare | Diferente pentru problema/path2 intre reviziile 4 si 5 | Diferente pentru automate-finite-si-kmp intre reviziile 24 si 23
Nu exista diferente intre titluri.
Diferente intre continut:
pi[i] <- k
==
h3. Analiza complexitatii :
* la fiecare pas ({$i = 2, n$}) $k$ se incrementeaza cel mult o data, deci pe parcursul algoritmului $k$ se va incrementa de cel mult $n - 1$ ori (linia {$8$})
* in linia {$5$}, $k$ se decrementeaza cel mult pana devine {$0$}, deci se va decrementa de cel
* Analiza complexitatii :
** la fiecare pas ({$i = 2, n$}) $k$ se incrementeaza cel mult o data, deci pe parcursul algoritmului $k$ se va incrementa de cel mult $n - 1$ ori (linia {$8$})
** in linia {$5$}, $k$ se decrementeaza cel mult pana devine {$0$}, deci se va decrementa de cel
mult $n - 1$ ori pe parcursul algoritmului
=> Complexitate : $O(n)$
* Complexitate : $O(n)$
Algoritmul este similar cu constructia automatului de acceptare. Din fiecare stare $i$ in care s-a acceptat {$N{~i~}$}, vedem cat de mult putem lua de la sfarsitul lui {$N{~i~}$} astfel incat sufixul respectiv sa fie prefix pentru {$N$}. De remarcat ca in cazul in care starea candidata $k$ nu este buna, nu mergem in {$k - 1$}, ci in {$Π{~k~}$}. Aceasta este de fapt "magia" care ofera complexitate liniara.
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.