Ո՞րն է երկուական որոնման մեծ O-ն:
Ո՞րն է երկուական որոնման մեծ O-ն:

Video: Ո՞րն է երկուական որոնման մեծ O-ն:

Video: Ո՞րն է երկուական որոնման մեծ O-ն:
Video: Расчет уровня вовлеченности сотрудников. Бережливое производство. 2024, Մայիս
Anonim

Երկուական որոնում ավելի արագ է, քան գծային որոնում բացառությամբ փոքր զանգվածների.

Երկուական որոնում ալգորիթմ.

-ի պատկերացում երկուական որոնում ալգորիթմ, որտեղ 7-ը թիրախային արժեքն է
Դասարան Որոնում ալգորիթմ
Լավագույն դեպքի կատարումը Օ (1)
Միջին կատարողականություն Օ (log n)
Տիեզերական ամենավատ բարդությունը Օ (1)

Այսպիսով, ո՞րն է երկուական որոնման բարդությունը:

Երկուական որոնում աշխատում է ամենավատ լոգարիթմական ժամանակում՝ կատարելով O(log n) համեմատություններ, որտեղ n-ը զանգվածի տարրերի թիվն է, O-ը Big O նշումն է, իսկ log-ը լոգարիթմն է: Երկուական որոնում վերցնում է հաստատուն (O(1)) տարածություն, ինչը նշանակում է, որ ալգորիթմի կողմից վերցված տարածությունը նույնն է զանգվածի ցանկացած թվով տարրերի համար:

Բացի այդ, երկուական որոնումն ամենաարագն է: Այո եւ ոչ. Այո, կան որոնումներ որոնք միջինում ավելի արագ են, քան կիսաբեկումը որոնում . Բայց ես հավատում եմ, որ դրանք դեռ O(lg N) են, պարզապես ավելի ցածր հաստատունով: Դուք ցանկանում եք նվազագույնի հասցնել ձեր տարրը գտնելու համար պահանջվող ժամանակը:

Նմանապես մեկը կարող է հարցնել, թե ինչպես եք գրում երկուական որոնում:

Երկուական որոնում : Որոնում տեսակավորված զանգված՝ բազմիցս բաժանելով որոնում ընդմիջումը կիսով չափ: Սկսեք ամբողջ զանգվածը ընդգրկող ընդմիջումով: Եթե արժեքը որոնում բանալին ավելի փոքր է, քան միջակայքի միջնամասում գտնվող կետը, նեղացրեք միջակայքը մինչև ստորին կեսը: Հակառակ դեպքում նեղացրեք այն վերին կեսին:

Ո՞րն է երկուական որոնման ժամանակային բարդությունը:

Այսպիսով, պետք է լինի որոշակի վարքագիծ, որը ցույց է տալիս ալգորիթմը, որպեսզի տրվի a բարդություն տեղեկամատյան n. Եկեք տեսնենք, թե ինչպես է այն աշխատում: Քանի որ երկուական որոնում ունի O(1) լավագույն դեպքի արդյունավետություն և O(log n) վատագույն դեպքում (միջին դեպք), մենք կանդրադառնանք ամենավատ դեպքի օրինակին: Դիտարկենք 16 տարրերից բաղկացած տեսակավորված զանգված:

Խորհուրդ ենք տալիս: