Sobes.tech
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) {
    // ორი სორტირებული ქვემასივის გაერთიანების ლოგიკა
}