Ո՞րն է ժամանակի բարդությունը ստեկի մղման գործողության մեջ:
Ո՞րն է ժամանակի բարդությունը ստեկի մղման գործողության մեջ:

Video: Ո՞րն է ժամանակի բարդությունը ստեկի մղման գործողության մեջ:

Video: Ո՞րն է ժամանակի բարդությունը ստեկի մղման գործողության մեջ:
Video: Ալգորիթմներ #4 - Ի՞նչ է ժամանակի բարդությունը՝ Big O նոտացիան և որն է մաթեմատիկայի կապը դրա հետ։ 2024, Ապրիլ
Anonim

Բոլոր ստանդարտների համար կույտային գործողություններ ( հրել , փոփ, դատարկ է, չափ), ամենավատ դեպքը- ժամանակի բարդություն կարող է լինել O(1): Մենք ասում ենք՝ կարելի է, և ոչ՝ այն պատճառով, որ միշտ հնարավոր է իրականացնել կույտեր հիմքում ընկած ներկայացմամբ, որն անարդյունավետ է:

Հաշվի առնելով սա, ի՞նչ է նշանակում դարակների հետ կապված ցուցակի ժամանակային բարդությունը:

Կրկնակի համար կապակցված ցուցակ որ բուրգ push և pop գործողությունները պետք է լինեն O(1): Եթե դուք խրված մի singly կապակցված ցուցակ , ենթադրելով, որ դուք լավ եք ցուցիչը դեպի պոչը, ինչպես նաև գլուխը պահելու մշտական գերավճարը, կարող եք ունենալ O(1) հերթի գործողություններ՝ հերթում և հերթում:

Նմանապես, ո՞րն է ժամանակի բարդությունը տվյալների կառուցվածքում: Ժամանակի բարդություն համակարգչային գիտության հասկացություն է, որը վերաբերում է քանակի քանակականացմանը ժամանակ վերցված կոդի կամ ալգորիթմի մի շարքի կողմից՝ մշակելու կամ գործարկելու համար՝ որպես մուտքագրման քանակի ֆունկցիա: Այլ կերպ ասած, ժամանակի բարդություն ըստ էության արդյունավետությունն է, կամ թե որքան ժամանակ է պահանջվում ծրագրի գործառույթից տվյալ մուտքագրումը մշակելու համար:

Այս կերպ ի՞նչ գործողություն կարող է իրականացվել կույտերի վրա:

Համակարգչային գիտության մեջ ա բուրգ վերացական տվյալների տեսակ է, որը ծառայում է որպես տարրերի հավաքածու՝ երկու հիմնականով գործառնություններ : push, որը տարր է ավելացնում հավաքածուին, և. pop, որը հեռացնում է ամենավերջին ավելացված տարրը, որը դեռ չի հեռացվել:

Ի՞նչ է push-ը և pop-ը:

1. ՀՐԵԼ օգտագործվում է նյութը stack while ավելացնելու համար POP օգտագործվում է տարրը բուրգ հանելու համար:

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