• Fan___________“ Algoritmlarni loyihalash”___________________ Guruh 21-08 Talaba Xayrullayev Islom
  • 4 мustaqil ta’lim ish hisoboti Fan “ Algoritmlarni loyihalash” Guruh 21-08 Talaba Xayrullayev Islom Belgilardan iborat massiv berilgan. Massivni Quick sort algoritmi bo’yicha saralang




    Download 23.01 Kb.
    bet1/3
    Sana04.06.2023
    Hajmi23.01 Kb.
    #69549
      1   2   3
    Bog'liq
    709703, Test 7-8 matematika olimpiada material, 10-sinf-ingliz-tili-ish-reja-YANGI, Agricultural Field Crop Production Project Proposal, Sinfdan va maktabdan tashqari ishlarda tejamkorlik tarbiyasi, g-ijjak-ijrochilik-maktablari-va-uslublari-professional-ustozlar-talqinida, 3 mustaqil ish, Bu dastur yordamida malumot bazasini yaratamiz, 2..-маъруза, 1-dars, Саволлар — Buxgalterya hisobi (3), 13 тармок иктисоди (2), 3-ma\'ruza, kirish

    O‘ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI

    MUHAMMAD AL-XORAZMIY NOMIDAGI
    TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI SAMARQAND FILIALI
    "Dasturiy injiniring" kafedrasi

    _4_ мustaqil ta’lim ish hisoboti


    Fan___________“ Algoritmlarni loyihalash”___________________

    Guruh 21-08
    Talaba
    Xayrullayev Islom


    Belgilardan iborat massiv berilgan. Massivni Quick sort algoritmi bo’yicha saralang
    Quyidagi Quick sort algoritmi orqali belgilardan iborat massivni saralashingiz mumkin:
    Quick sort algoritmi rekursiv ravishda ishlaydi. Boshlash uchun saralashni boshlang'ich indeksidan va oxirgi indeksidan belgilab boshlaymiz.
    Saralash uchun birorta "pivot" elementni tanlaymiz. Odatda, massivning o'rta elementini pivot sifatida tanlash qo'llaniladi. Bunday holatda, massivning boshlang'ich indeksidan, oxirgi indeksidan va o'rta indeksidan olgan belgilar orqali pivot belgini topamiz.
    Pivot belgisi orqali massivni ikki qismini ajratamiz. Bir tomonida pivotdan kichik elementlar, ikkinchisida esa pivotdan katta elementlar bo'lishi kerak. Bu amalni bajarish uchun boshlang'ich indeksdan boshlab yurgizib, pivotdan kichik belgini topishimiz va ikkinchisida oxirgi indeksdan boshlab yurgizib, pivotdan katta belgini topishimiz. Agar bitta belgi kamayib ketgan bo'lsa, ularni almashtiramiz.
    Keyingi qadamda, pivot belgasi o'rta joyga keladi va massivni ikki qisimiga ajratgan holda pivot belgisini tanlangan qismga o'rnatamiz.
    Qismlar bo'lganidan so'ng, rekursiv ravishda qismlarni Quick sort algoritmi orqali saralashni davom ettiramiz. Bunda har bir qisimning boshlang'ich va oxirgi indekslaridan foydalanamiz.
    Algoritmdan foydalanib massivni saralab chiqishimiz uchun, massivning boshlang'ich va oxirgi indekslaridan boshlab qadam qo'shamiz.

    Quyidagi Python kodi orqali Quick sort algoritmini amalga oshirishimiz mumkin:

    def quick_sort(arr, low, high):
    if low < high:
    # pivot belgisini topamiz
    pivot_index = partition(arr, low, high)
    # Qismlarni rekursiv ravishda saralash
    quick_sort(arr, low, pivot_index - 1)
    quick_sort(arr, pivot_index + 1, high)
    def partition(arr, low, high):
    # pivot belgisini tanlaymiz
    pivot = arr[high]
    # pivotdan kichik belgilarni ajratamiz
    i = low - 1
    for j in range(low, high):
    if arr[j] < pivot:
    i += 1
    arr[i], arr[j] = arr[j], arr[i]
    # Pivot belgisini o'rta joyga joylashtiramiz
    arr[i + 1], arr[high] = arr[high], arr[i + 1]
    return i + 1
    # Massivni test qilish
    arr = [8, 3, 1, 9, 5]
    n = len(arr)
    # Quick sort algoritmini chaqirish
    quick_sort(arr, 0, n - 1)
    # Natijani chiqarish
    print("Saralangan massiv:", arr)
    Ushbu kodi ishga tushirgandan so'ng, arr massivi saralgan holatda chiqadi.


    Download 23.01 Kb.
      1   2   3




    Download 23.01 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    4 мustaqil ta’lim ish hisoboti Fan “ Algoritmlarni loyihalash” Guruh 21-08 Talaba Xayrullayev Islom Belgilardan iborat massiv berilgan. Massivni Quick sort algoritmi bo’yicha saralang

    Download 23.01 Kb.