Sobes.tech
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.