Kas yra for ciklo didelis O?
Kas yra for ciklo didelis O?

Video: Kas yra for ciklo didelis O?

Video: Kas yra for ciklo didelis O?
Video: ЛЮБОВЬ С ДОСТАВКОЙ НА ДОМ (2020). Романтическая комедия. Хит 2024, Lapkritis
Anonim

The didysis O iš a kilpa yra iteracijų skaičius kilpa į teiginių skaičių kilpa . Dabar pagal apibrėžimą, Didysis O turėtų būti O (n*2), bet taip yra O (n).

Panašiai galite paklausti, koks yra for ciklo sudėtingumas?

Kadangi darome prielaidą, kad teiginiai yra O(1), bendras laikas for kilpa yra N * O(1), o tai yra bendras O(N). Išorinis kilpa įvykdo N kartų. Kiekvieną kartą išorinis kilpa vykdo, vidinis kilpa įvykdo M kartų. Dėl to teiginiai vidinėje kilpa iš viso vykdyti N * M kartų.

Be to, kas yra „Big O“žymėjimas su pavyzdžiu? The Didelis O žymėjimas apibrėžia viršutinę algoritmo ribą, ji riboja funkciją tik iš viršaus. Dėl pavyzdys , apsvarstykite įterpimo rūšiavimo atvejį. Geriausiu atveju reikia linijinio laiko, o blogiausiu – kvadratinio laiko. Galime drąsiai teigti, kad įterpimo rūšiavimo sudėtingumas yra toks O (n^2).

Paprasčiausiai, kaip nustatyti for ciklo laiko sudėtingumą?

Pavyzdžiui, pasirinkimo rūšiavimas ir įterpimo rūšiavimas turi O(n^2) laiko sudėtingumas . O (Prisijungti) Laiko sudėtingumas iš a kilpa yra laikomas O (Prisijungti), jei kilpa kintamieji dalijami / padauginami iš pastovios sumos. Pavyzdžiui, dvejetainėje paieškoje yra O (Prisijungti) laiko sudėtingumas.

Kaip apskaičiuoti Big O?

Į Apskaičiuokite Big O , galite pereiti kiekvieną kodo eilutę ir nustatyti, ar tai O (1), O (n) ir tt ir grąžinkite savo skaičiavimas pabaigoje. Pavyzdžiui, gali būti O (4 + 5n), kur 4 reiškia keturis atvejus O (1) ir 5n reiškia penkis atvejus O (n).

Rekomenduojamas: