Junior — Middle
რა დროის შედეგი აქვთ მასივში ელემენტების ჩასმის, ძიების, წაკითხვის და წაშლის ოპერაციებს ყველაზე უარესი და საშუალო შემთხვევებში?
sobes.tech AI
პასუხი AI-სგან
iOS-ის სტანდარტული მასივისთვის (მაგალითად, NSArray ან NSMutableArray) ოპერაციების დროითი მახასიათებლები დაახლოებით შემდეგია:
-
დამატება:
- მასივის ბოლოს (append): საშუალო და ყველაზე უარესი შემთხვევა — O(1) ამორტიზებული (თუ მეხსიერების გადანაწილება საჭირო არ არის).
- დასაწყისში ან შუაში: O(n), რადგან ელემენტების გადატანა სჭირდება.
-
ძიება (თუ ინდექსით): O(1), რადგან მასივი ინდექსირებულია.
-
წაკითხვა ინდექსით: O(1).
-
წაშლა:
- მასივის ბოლოს: O(1).
- დასაწყისში ან შუაში: O(n), ელემენტების გადატანის გამო.
ამიტომ, ოპერაციები დამატება და წაშლა შუაში ან დასაწყისში ლინეურქია, ხოლო წვდომა და დამატება/წაშლა ბოლოს — კონსტანტულია (ამორტიზებული).