Tаshqi sаrаlаsh аlgоritmlаri


Sheyker (to’lqinsimon) saralash usuli algoritmini yozing va misollar yordamida tushuntirib bering


Download 407.5 Kb.
bet8/11
Sana15.11.2023
Hajmi407.5 Kb.
#1775792
1   2   3   4   5   6   7   8   9   10   11
Bog'liq
16-Tashqi saralash algoritmlari mavzusini o‘qitish metodikasi

2.2 Sheyker (to’lqinsimon) saralash usuli algoritmini yozing va misollar yordamida tushuntirib bering.




Sheyker usulida saralash algoritmi

  • Bu algoritmning asosiy g’oyasi shundaki, bunda saralash “to’lqinsimon” tarzda amalga oshiriladi.

  • Shuning uchun ham dastur boshida massivda chapdan o’ngga, keyin o’ngdan chapga o’tish orqali saralaydi. Ya’ni, chapga o’tilganda o’ng tomonga katta sonlarni, o’ngdan o’tganda esa, chap tomonga kichik sonlarni terib chiqadi.

  • Agar saralash, tashqi xotirada amalga oshirilayotgan bo’lsa, elementning kaliti katta hajmdagi ma’lumotlar bilan bog’liq bo’lganda, o’rin almashtirishlar soni juda ko’p vaqtni oladi va protsessorga og’ir yuklama tushadi.

Sheyker algoritmi ushbu almashtirishlar sonini kamaytiradi, ya’ni quyidagicha ishlaydi:

    • 1. Birinchi qadamda barcha elementlar minimum va maksimumga ajratib olinadi.

    • 2. Minimal element massiv boshiga, maksimal element esa massiv oxiriga mos ravishda joylashtiriladi.

    • 3. Algoritm qolgan elementlar qismmassivida ham ushbu amalni takrorlaydi.

void Sort(int col)


{ int trash=0; bool f=true;
for (int i=1; (i<=col) && (f=true) ; i++)
{ f=false; // chapdan o’ngga o’tish
for (int j=i; j<=col-i; j++)
{ if (array [j]>array [j+1])
{ trash=array[j]; array [j]=array [j+1];
array [j+1]=trash; f=true; } }
// o’ngdan chapga o’tish
for (int j=col-i-1; j>i ; j--) {
if (array [j]array [j-1]=trash; f=true; } } } }



  • Bu algoritm – bo’laklash usuli deb yuritiladi. 1962-yilda Charlz Xoar tomonidan taklif etilgan.

  • Bu usul “bo’laklarga bo’l va hukmronlik qil” g’oyasiga asoslangan.

  • Bu algoritmning asosiy g’oyasi almashtirish (pufak) usulidagi saralash algoritmiga mos keladi, ya’ni tanlab olingan kalitli elementga nisbatan kichik yoki teng elementlar ikki tomonga ajratib olinadi.


Download 407.5 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   11




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling