Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Stránky: 1
Ahoj můžete mi prosím pomoct s řešením následujícího příkladu ?
Děkuji.
Jednoduchá implementace Euklidova algoritmu pro výpocet nejvetšího spolec-
ného delitele dvou prirozených císel a, b pocítá výsledek následovne:
Euclid(a, b):
if b = 0 then
return a
else if a > b then
return Euclid(b, a − b)
else
return Euclid(a, b − a)
end if
Jaká je casová složitost tohoto algoritmu?
Poznámka: Jako velikost vstupu uvažujte celkový pocet bitu císel a, b. Predpokládejte, že
aritmetické operace trvají jednotkový cas.
Offline

Větší číslo se vždy zmenší alespoň o 1, proto je časová složitost nejvýše O(max(a,b)). Pokud je druhé číslo 1, zmenší se větší právě o 1, tím pádem je O(max(a,b)) současně horní i dolní odhad. Časová složitost je lineární vzhledem k hodnotě vstupu a proto exponenciální vzhledem k jeho délce.
Offline
Stránky: 1