Sobes.tech
Junior — Middle

რა არის ახალი ელემენტის ჩაწერის ოპერაციის დროითი სირთულე მასივში?

sobes.tech AI

პასუხი AI-სგან

ახალი ელემენტის დამატება მასივში ყველაზე უარეს შემთხვევაში აქვს დროის სირთულე O(n), სადაც n არის მასივში ელემენტების რაოდენობა.

მიზეზი ის არის, რომ მასივი აქვს ფიქსირებული ზომა, და შუაში ან დასაწყისში ელემენტის დამატებისას საჭიროა ყველა შემდეგი ელემენტის ერთი პოზიციით მარჯვნივ გადატანა. თუ დამატება ხდება ბოლოში და თავისუფალი ადგილი არსებობს, ოპერაცია შეიძლება იყოს O(1).

მაგალითი:

  • ბოლოში დამატება თავისუფალ ადგილთან: O(1)
  • დასაწყისში ან შუაში დამატება: ელემენტების გადატანის გამო O(n)

დინამიკულ მასივებში (მაგალითად, Java-ს ArrayList-ში), როდესაც მასივი ივსება, ხდება მისი კოპირება უფრო დიდ ზომის ახალ მასივში, რაც ასევე მოითხოვს დროის O(n).