Sa është O-ja e madhe e një cikli for?
Sa është O-ja e madhe e një cikli for?

Video: Sa është O-ja e madhe e një cikli for?

Video: Sa është O-ja e madhe e një cikli for?
Video: 8 pozicionet me të cilat zgjasni më shumë dhe “i vini flakën” dhomës së gjumit - Gota News 2024, Nëntor
Anonim

Të O i madh e një lak është numri i përsëritjeve të lak në numrin e deklaratave brenda lak . Tani sipas përkufizimit, O i madh duhet te jete O (n*2) por është O (n).

Në mënyrë të ngjashme, ju mund të pyesni, cili është kompleksiteti i një cikli for?

Meqenëse supozojmë se deklaratat janë O(1), koha totale për for lak është N * O(1), që është O(N) në përgjithësi. E jashtme lak ekzekuton N herë. Çdo herë e jashtme lak ekzekuton, e brendshme lak ekzekuton M herë. Si rezultat, deklaratat në të brendshme lak ekzekutoni një total prej N * M herë.

Për më tepër, çfarë është shënimi Big O me shembull? Të Shënim i madh O përcakton një kufi të sipërm të një algoritmi, ai kufizon një funksion vetëm nga lart. Për shembull , merrni parasysh rastin e Insertion Sort. Duhet kohë lineare në rastin më të mirë dhe kohë kuadratike në rastin më të keq. Mund të themi me siguri se kompleksiteti kohor i renditjes së futjes është O (n^2).

Thjesht kështu, si e gjeni kompleksitetin kohor të një cikli for?

Për shembull, renditja e përzgjedhjes dhe renditja e futjes kanë O(n^2) kompleksiteti kohor . O (Identifikohu) Kompleksiteti kohor e një lak konsiderohet si O(Logn) nëse lak variablat ndahet / shumëzohet me një shumë konstante. Për shembull Kërkimi Binary ka O (Logn) kompleksiteti kohor.

Si e llogaritni Big O?

te llogarit O-në e madhe , mund të kaloni nëpër çdo rresht kodi dhe të përcaktoni nëse është O (1), O (n) etj dhe më pas kthejeni tuajën llogaritje në fund. Për shembull mund të jetë O (4 + 5n) ku 4 përfaqëson katër raste të O (1) dhe 5n përfaqëson pesë raste të O (n).

Recommended: