69
Birlashtirib saralash algortimini baholash. Algoritmning
murakkabligini taxmin qilaylik. Har qanday rekursiv funksiya chaqiruvi
daraxtga oʻxshaydi (Izoh: ―Daraxtlar‖ haqida keyingi ma‘ruzalarda
toʻxtalib oʻtiladi). Bunday daraxtni rekursion daraxt deb ham atashadi.
Daraxtning har bir darajasi bir yoki bir nechta
funksiya chaqiruvlarini
aks ettiradi. Shoxlari boʻlmagan daraxt tugunlari rekursiyani tugatadigan
funksiya chaqiruvlarini anglatadi. Birlashtirish
tartibida daraxtning
balandligi log
2
n ga teng, chunki har bir qadamda boshlangʻich
massiv
n/2 uzunlikdagi ikkita ichki massivga boʻlinadi. Ajratishdan soʻng,
birlashtirish operatsiyasi amalga oshiriladi.
Birlashtirish jarayoni n
taqqoslashni, navbati bilan
logn marta, ya‘ni daraxtning har bir darajasi
uchun 1 marta takrorlashni talab qiladi. Keyin algortim asimptotikasi O
(nlogn) boʻladi.
15-rasm. Merge Sort algoritmining turli xil tiplar uchun ishlash
vaqti (elementlar soni 50000 ta)
Mavzu yuzasidan savollar:
1. Merge sort algoritmining murakkabliklarini baholang
2. Merge sort algoritmida ―Boʻlib tashlash‖da nimalarga e‘tibor
berish
kerak