Junior — Middle
როგორ არის შეფასებული TreeSet-ში ელემენტის დამატების ოპერაციის დროითი სირთულე?
sobes.tech AI
პასუხი AI-სგან
Java-да, TreeSet კლასი განხორციელებულია წითელი-შავი ხის საფუძველზე, რომელიც არის ბალანსირებული ბინარული ძიების ხე. TreeSet-ში ელემენტის დამატების ოპერაციის დროის სირთულე არის O(log n), სადაც n არის ნაკრების ელემენტების რაოდენობა.
ეს დაკავშირებულია იმასთან, რომ ელემენტის დამატებისას იგი პირველ რიგში ეძებს ხეს, რათა განსაზღვროს სწორი ადგილი, და შემდეგ ხე ბალანსდება, რაც ლოგარითმული დროა.
მაგალითი:
TreeSet<Integer> set = new TreeSet<>();
set.add(10); // O(log n)
set.add(5); // O(log n)
set.add(20); // O(log n)