Junior — Middle
რა არის შერწყმის სორტირების ალგორითმის ძირითადი იდეა და უპირატესობები?
sobes.tech AI
პასუხი AI-სგან
შერევის სორტირების ალგორითმი (Merge Sort) ეფუძნება პრინციპს "გაანაწილე და მმართე". იგი რეკურსიულად იყოფა თავდაპირველი მასივი ორ ნაწილად, თითოეულს სორტირებს და შემდეგ ორი სორტირებული ნაწილს აერთიანებს ერთ სორტირებულ მასივად.
უპირატესობები:
- სტაბილურობა: ინარჩუნებს თანმიმდევრობას თანასწორ ელემენტებს.
- გარანტირებული მუშაობის დრო O(n log n) ყველაზე უარესი, საშუალო და საუკეთესო შემთხვევებში.
- შესაფერისია დიდი მოცულობის მონაცემების და გარე სორტირებისათვის.
Java-ს მაგალითი:
void mergeSort(int[] arr, int left, int right) {
if (left < right) {
int mid = (left + right) / 2;
mergeSort(arr, left, mid);
mergeSort(arr, mid + 1, right);
merge(arr, left, mid, right);
}
}
void merge(int[] arr, int left, int mid, int right) {
// ორი სორტირებული ქვემასივის გაერთიანების ლოგიკა
}