8-Mavzu: Birlashtirib saralash algoritmlari. Samarali saralash algoritmlari. Birlashtirib saralashni rekursiv va rekursiv bo'lmagan algoritmlari




Download 42,15 Kb.
bet3/4
Sana30.05.2024
Hajmi42,15 Kb.
#257330
1   2   3   4
Bog'liq
8-Mavzu

{
pi = partition(arr, low, high);
quickSort(arr, low, pi - 1); // Before pi quickSort(arr, pi + 1, high); // After pi
}
}

Boʻlib tashlash” algoritmning psevdokodi. Ushbu funksiya soʻnggi elementni ―tayanch‖ sifatida qabul qiladi, ―tayanch‖ elementni tartiblangan qatorga toʻgʻri holatiga qoʻyadi va kichikroq (burilishdan kichikroq) burilishning chap tomoniga va barcha katta elementlarni


―tayanch element‖ ning oʻng tomoniga joylashtiradi


partition (arr[], low, high)
{
// pivot (Element toʻgʻri joyga joylashtiriladi) pivot = arr[high];
i = (low - 1) // Kichikroq element koʻrsatkichi va tayanch
//toʻgʻri holatini koʻrsatadi for (j = low; j <= high- 1; j++)
{
// Agar joriy element “tayanch” elementdan kichikroq boʻlsa if (arr[j] < pivot)
{
i++; // kichik elementning oʻsish koʻrsatkichi swap arr[i] and arr[j]
}
}
swap arr[i + 1] and arr[high]) return (i + 1)
}
―Boʻlib tashlash‖ algoritmining ishlashini quyidagi misolda qarab chiqish mumkin:


arr[] = {10, 80, 30, 90, 40, 50, 70}
Indekslar: 0 1 2 3 4 5 6

low = 0, high = 6, pivot = arr[h] = 70


Kichik element indeksini initsializatsiya qilish, i = -1
j = low to high-1
j = 0 : arr[j] <= pivot, shart bajarilsa, i++ va swap(arr[i], arr[j])

i = 0


arr[] = {10, 80, 30, 90, 40, 50, 70} //Massivda oʻzgarish boʻlmaydi

Download 42,15 Kb.
1   2   3   4




Download 42,15 Kb.

Bosh sahifa
Aloqalar

    Bosh sahifa



8-Mavzu: Birlashtirib saralash algoritmlari. Samarali saralash algoritmlari. Birlashtirib saralashni rekursiv va rekursiv bo'lmagan algoritmlari

Download 42,15 Kb.