For циклинин чоң O деген эмне?
For циклинин чоң O деген эмне?

Video: For циклинин чоң O деген эмне?

Video: For циклинин чоң O деген эмне?
Video: Создание корпоративной системы развития талантов. Бережливое производство. 2024, Ноябрь
Anonim

The чоң О а цикл кайталануу саны болуп саналат цикл ичиндеги билдирүүлөрдүн санына цикл . Азыр аныктама боюнча, Чоң О болушу керек О (n*2) бирок ошондой О (n).

Ошо сыяктуу эле, сиз for циклинин татаалдыгы кандай деп сурасаңыз болот?

Биз билдирүүлөрдү O(1) деп эсептегендиктен, for үчүн жалпы убакыт цикл жалпысынан O(N) болгон N * O(1). тышкы цикл N жолу аткарат. Ар бир жолу сырткы цикл ишке ашырат, ички цикл М жолу аткарат. Натыйжада, ички билдирүүлөр цикл жалпы N * М жолу орундатышат.

Мындан тышкары, мисал менен Big O белги деген эмне? The Чоң О белгиси алгоритмдин жогорку чегин аныктайт, ал функцияны жогору жактан гана чектейт. үчүн мисал , Insertion Sort учурун карап көрөлү. Эң жакшы учурда сызыктуу убакытты, эң начар учурда квадраттык убакытты талап кылат. Кыстаруу сортунун убакыт татаалдыгы деп ишенимдүү айта алабыз О (n^2).

Жөнөкөй эле, for циклинин убакыт татаалдыгын кантип табасыз?

Мисалы, Тандоо сорту жана Кыстаруу сорту O(n^2) бар убакыттын татаалдыгы . O(Кирүү) Убакыт татаалдыгы а цикл болсо, O(Logn) катары каралат цикл өзгөрмөлөр туруктуу суммага бөлүнөт / көбөйтүлөт. Мисалы, бинардык издөөдө O(Logn) бар убакыттын татаалдыгы.

Big O кантип эсептейсиз?

үчүн Big O эсептөө , сиз коддун ар бир сабын карап чыгып, анын бар же жок экенин аныктай аласыз О (1), О (n) ж.б. анан кайра кайтарыңыз эсептөө аягында. Мисалы, болушу мүмкүн О (4 + 5n) мында 4 төрт мисалды билдирет О (1) жана 5n беш мисалды билдирет О (n).

Сунушталууда: