Mis on for-tsükli suur O?
Mis on for-tsükli suur O?

Video: Mis on for-tsükli suur O?

Video: Mis on for-tsükli suur O?
Video: Oliver Tree & Robin Schulz - Miss You [Official Music Video] 2024, November
Anonim

The suur O a silmus on iteratsioonide arv silmus avalduste arvu sees silmus . Nüüd definitsiooni kohaselt Suur O peaks olema O (n*2), aga on O (n).

Samamoodi võite küsida, milline on for-tsükli keerukus?

Kuna eeldame, et väited on O(1), on for koguaeg silmus on N * O(1), mis on üldiselt O(N). Välimine silmus teostab N korda. Iga kord, kui välimine silmus teostab, sisemine silmus teostab M korda. Selle tulemusena avaldused sisemises silmus täitke kokku N * M korda.

Veelgi enam, mis on Big O tähistus koos näitega? The Suur O-tähis defineerib algoritmi ülemise piiri, see piirab funktsiooni ainult ülalt. Sest näide , kaaluge sisestussortimise juhtumit. Selleks kulub parimal juhul lineaarne aeg ja halvimal juhul ruutaeg. Võime julgelt öelda, et sisestussortimise ajaline keerukus on O (n^2).

Lihtsalt, kuidas leida for-tsükli ajaline keerukus?

Näiteks valiku sortimisel ja sisestuse sortimisel on O(n^2) aja keerukus . O (Logi sisse) Aja keerukus a silmus loetakse O(logimiseks), kui silmus muutujad jagatakse / korrutatakse konstantse summaga. Näiteks binaarotsingul on O (Logi sisse) aja keerukus.

Kuidas arvutada Big O?

To arvuta suur O , saate läbida iga koodirea ja teha kindlaks, kas see on O (1), O (n) jne ja seejärel tagastage oma arvutus lõpus. Näiteks võib see olla O (4 + 5n), kus 4 tähistab nelja eksemplari O (1) ja 5n tähistavad viit juhtumit O (n).

Soovitan: