Wyznaczanie złozonosci prostych algorytmów
Marta: Udowodnij, ze O(loga n) = O(logb n) dla a, b > 1.
Proszę o pomoc
12 mar 13:48
wmboczek: logbn=logan/logab=klogan
12 mar 13:52
Marta: pewnie głupie pytanie ale dopiero próbuje to zrozumieć więc przepraszam
co oznacza to k?
prowadzący rozwiazał to tak:
O(kg)=O(g)
O(log
a n)=log
a n=log
a b*log
b n=O(log
a b*log
b n)=O(log
b n)
| logc b | |
rozumiem że to z przekształcenia wzoru loga b= |
| |
| logc a | |
ale skąd mam wiedzieć że log
a n oznacza w powyższym wzorze log
c b a nie log
c a?
Bardzo proszę o pomoc w zrozumieniu jak rozwiązywać tego typu zadania
12 mar 22:39
Marta: .
13 mar 09:21
b.: Ten napis
O(loga n)=loga n
nie wydaje mi się poprawny.
Chcesz zamenić loga n na logb n, więc korzystasz jakos z tego wzoru na zamianę podstaw, nie
ma znaczenia, czy tak jak napisał wmboczek, czy tak:
logb n = loga n * logb a = k loga n
(k = logb a jest tu oczywiście takie samo, jak u wmboczka, k = 1/ loga b)
13 mar 11:50