aralashmagan bo’lsa, bizda ikkiga bo’lish (partition)
effektiv
chiqmaydi.
Quicksort maksimum darajada aralashgan array’lar uchun
samarali ishlaydi.
Quicksort’ning uning o’rtacha time complexity’si O(1.39*n log n), Mergesortdan
39% ko’proq.
Quicksortning ajoyibligi shundaki, u qo’shimcha array’siz, berilgan arrayning
o’zida partition’ni amalga oshiradi va
Mergesortga nisbatan kamroq
almashtirishlar qiladi.
Qo’shimcha
array ishlatilsa, funksiya soddaroq (va qisqaroq) ko’rinishda bo’ladi,
ammo bunda Quicksort’ni ishlatishdan foyda yo’qoladi.
Worst case – O(1/2 N
2
) – allaqachon tartiblangan array uchun. Chunki bu holatda
pivot array’ni ikki qismga bo’la olmaydi. Nima
uchun arrayni aralashtirish
(shuffle) muhim ekanligini tushungan bo’lsangiz kerak
Kod
function
quickSort
(arr) {
function
Dostları ilə paylaş: