Sobes.tech
Junior — Middle

Ի՞նչ է նոր տարր ավելացնելու օպերացիայի ժամանակային բարդությունը զանգվածում։

sobes.tech AI

Պատասխան AI-ից

Նոր տարր ավելացնելը զանգվածում ունի ժամանակային բարդություն O(n) ամենավատ դեպքերում, որտեղ n զանգվածի տարրերի քանակն է:

Սա այն պատճառով է, որ զանգվածը ունի ֆիքսված չափս, և միջին կամ սկզբում տարր ավելացնելու համար անհրաժեշտ է տեղափոխել բոլոր հաջորդող տարրերը մի դիրք աջ։ Եթե ավելացումը կատարվում է վերջում և կա ազատ տեղ, ապա գործողությունը կարող է լինել O(1):

Օրինակ՝

  • Վերջինում ավելացում ազատ տեղով՝ O(1)
  • Սկզբում կամ միջինում ավելացում՝ O(n) տարրերի տեղափոխման պատճառով

Դինամիկ զանգվածներում (օրինակ՝ Java-ի ArrayList), երբ զանգվածը լցվում է, կատարվում է պատճենում ավելի մեծ չափսով նոր զանգվածի մեջ, ինչը նույնպես պահանջում է O(n) ժամանակ։