Muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti samarqand filiali mustaqil ish




Download 33.03 Kb.
bet4/6
Sana20.12.2023
Hajmi33.03 Kb.
#124728
1   2   3   4   5   6
Bog'liq
Abdurizo a.l.m. (4)
Ochiq kodli OT xavfsizligi, Mustaqil ish mavzu ko\'p o\'lchovli regressiya. Reja, BERDIYEV BOBOMUROD 2MAVZU, 1-Amaliy ish (2), 1-Mavzu husnixat metodikasining predmeti, vazifalari va husnixa, 10-ma\'ruza, Болаларни мактаб таълимига тайёрлаш
MERGE SORT
Merge Sort, o'z vaqtida qatorni bo'lib bo'lingan algoritmdir. Bu algoritm yordamida katta muammolar to'plami qismlarga bo'lingan va keyin ulardan iborat bo'lgan ro'yxatlar to'plamini bir-biriga qo'shish jarayoni orqali tartiblangan. Merge Sortning harakatlar ketma-ketligi quyidagicha bo'ladi:
1. Agar ro'yxat bir elementdan iborat bo'lsa, uni to'xtatamiz, chunki u avvaldan tartiblangan hisoblanadi.
2. Aksincha, ro'yxatni ikki yarimka bo'ladi. Bu yarimkalarga ro'yxatning o'rtasini topish uchun indekslar kerak bo'ladi.
3. Birinchi yarimkada Merge Sortni qo'llaymiz.
4. Ikkinchi yarimkada ham Merge Sortni qo'llaymiz.
5. Har ikki yarimka ham tartiblangan bo'lganda, ularni birlashtirish jarayoniga kirib kelamiz. Birlashtirish jarayonida, ikki yarimka o'rtasidagi elementlarni solishtirib, ularni tartiblangan ro'yxatga joylashtiramiz.
6. Birlashtirish jarayonini davom ettirib, barcha yarimkalarni birlashtirib boramiz.
def mergeSort(arr):
if len(arr) <= 1:
return arr
mid = len(arr) // 2
left_half = arr[:mid]
right_half = arr[mid:]
left_half = mergeSort(left_half)
right_half = mergeSort(right_half)
return merge(left_half, right_half)

def merge(left, right):


result = []
i = j = 0

while i < len(left) and j < len(right):


if left[i] < right[j]:
result.append(left[i])
i += 1
else:
result.append(right[j])
j += 1

while i < len(left):


result.append(left[i])
i += 1

while j < len(right):


result.append(right[j])
j += 1

return result

arr = [4, 2, 7, 1, 3]
sorted_arr = mergeSort(arr)
print(sorted_arr)
Ushbu kod Merge Sortni amalga oshiradi va natijadagi tartiblangan ro'yxatni chiqaradi. Kod esa "arr" nomli ro'yxatni o'zgartirib natijani ekranga chiqaradi.

QUICK SORT
Tez saralash - umuman olganda, bu massivlarni tartiblash uchun eng tezkor algoritmlardan biridir, ammo amalda ko'pincha turli xil o'zgartirishlar bilan qo'llaniladi. Bu "bo'linish va zabt etish" tamoyiliga misol.
Algoritmning g'oyasi shundaki, saralash amalga oshiriladigan qo'llab-quvvatlovchi element tanlangan. Teng va kattaroq elementlar o'ngga, kichikroq - chap tomonga joylashtirilgan. Keyin, dastlabki ikki nuqta rekursiv ravishda natijada paydo bo'lgan subarraysiyalarga qo'llaniladi.


Download 33.03 Kb.
1   2   3   4   5   6




Download 33.03 Kb.

Bosh sahifa
Aloqalar

    Bosh sahifa



Muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti samarqand filiali mustaqil ish

Download 33.03 Kb.