Junior — Middle
Hansı növ sıralama növlərini bilirsiniz və onların vaxt və yaddaş çətinlikləri nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Çox sayda sıralama algoritmləri mövcuddur, bunlardan əsas olanlar və onların vaxt və yaddaş mürəkkəbliyi:
-
Baloncuk sıralaması (Bubble Sort)
- Vaxt: Ən pis və orta halda O(n²)
- Yaddaş: O(1) (yerində sıralama)
-
İnsertasiya sıralaması (Insertion Sort)
- Vaxt: Ən pis halda O(n²), ən yaxşı halda O(n) (demək olar ki, sıralanmış massiv)
- Yaddaş: O(1)
-
Seçim sıralaması (Selection Sort)
- Vaxt: Bütün hallarda O(n²)
- Yaddaş: O(1)
-
Birleştirmə sıralaması (Merge Sort)
- Vaxt: Bütün hallarda O(n log n)
- Yaddaş: O(n) (əlavə yaddaş tələb edir)
-
Sürətli sıralama (Quick Sort)
- Vaxt: Orta hesabla O(n log n), ən pis halda O(n²) (nadir)
- Yaddaş: O(log n) (rekursiv yığın)
-
Yığın sıralaması (Heap Sort)
- Vaxt: Bütün hallarda O(n log n)
- Yaddaş: O(1)
-
Timsort — Python və Java-da istifadə olunan hibrid sıralama algoritmi
- Vaxt: Orta və ən pis halda O(n log n)
- Yaddaş: O(n)
Algoritmin seçimi verilənlərin ölçüsünə, yaddaş tələblərinə və sıralamanın stabilliyinə (bərabər elementlərin ardıcıllığını saxlayıb saxlamaması) bağlıdır. Məsələn, Merge Sort stabildir, Quick Sort adətən daha sürətlidir, amma stabildir deyil.