Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > pl.comp.programming > #32446
| Newsgroups | pl.comp.programming |
|---|---|
| From | Szyk Cech <szykcech@spoko.pl> |
| Subject | Złożóność obliczeniowa: udowadnianie rekurencji |
| Message-ID | <H5VfE.10550$jo5.7354@fx21.fr7> (permalink) |
| Organization | Newshosting.com - Highest quality at a great price! www.newshosting.com |
| Date | 2019-03-06 20:22 +0100 |
Witam Mam proste zadanie (ze słynnej książki: "Wprowadzenie do algorytmów" ze strony 87. nr 4.3-2) o treści: Pokaż, że rozwiązanie równania T(n) = T(sufit(n/2)) + 1 jest O(lg(n)). Postępowałem wg metody podstawiania podanej 4 strony wcześniej: Przyjąłem tezę (do udowodnienia), że ma być T(n) <= clg(n) dla c>0 które zachodzi dla wszytkich m < n, a w szczególności dla m=sufit(n/2). Tzn.: T(sufit(n/2)) <= clg(sufit(n/2)) Teraz podstawiam to do równiania rekurencyjnego i mam: T(n) <= clg(sufit(n/2)) + 1 = clg(n/2 + n mod 2) + 1 Tego już chyba nie trzeba redukować jednak należy sprawdzić, czy jest to <= clg(n) Biorę n = 17 i mam: clg(n/2 + n mod 2) + 1 = clg(8 + 1) + 1 = 4,1699 clg(n) = clg(17) = 4,0875 Czy to znaczy, że obaliłem tezę zdania? I że ten algorytm wcale nie jest O(lg(n))?!? dzięki i pozdro Szyk Cech ps.: lg to logarytm o podstawie 2
Back to pl.comp.programming | Previous | Next | Find similar | Unroll thread
Złożóność obliczeniowa: udowadnianie rekurencji Szyk Cech <szykcech@spoko.pl> - 2019-03-06 20:22 +0100
csiph-web