Sobes.tech
Junior — Middle

რა არის მონაცემთა სტრუქტურის Dictionary ელემენტების ძებნის სიჩქარის მახასიათებელი?

sobes.tech AI

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

მონაცემთა სტრუქტურა Dictionary (მაგალითად, C#-ში) ელემენტის ძებნა გასაღებით ჩვეულებრივ აქვს ამორტიზებული სირთულე O(1), ანუ ძალიან სწრაფი და პრაქტიკულად მუდმივი დროით.

ეს მიღწეულია ჰეშ-ცხრილის გამოყენებით, სადაც გასაღები გარდაიქმნება ჰეშ-კოდად, რაც საშუალებას აძლევს სწრაფად იპოვოს ინდექსი მასივში.

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

C#-ში Dictionary-ის ძებნის მაგალითი:

var dict = new Dictionary<string, int>();
dict["apple"] = 5;
int value = dict["apple"]; // O(1) ძებნა