Саралаш тушунчаси ва алгоритмлари. Танлаш орқали саралаш ва уни қўлланишига доир дт тузинг



Download 153,79 Kb.
bet3/3
Sana06.01.2022
Hajmi153,79 Kb.
#321787
1   2   3
Bog'liq
algoritmlash

doim birinchi 1 sonini ikkinchi 1 sonidan doim oldin joylashtirsa, bu algoritm turg’un saralovchi algoritm deyiladi.

Yana haqli savol tug’ilishi mumkin, “Bu narsaning kimga keragi bor, baribir natija 1 1 2 3 4 5 bo’ladiku?” degan. Albatta, bu holatda turg’unlik ahamiyati sezilmasligi mumkin. Lekin, aytaylik siz biror korxona ishchilari ma’lumotlarini ularning nomiga ko’ra saralagan paytda turg’unlik kerak bo’lib qolishi mumkin. Ya’ni, birinchi Nodirbek ma’lumotlari, ikkinchi Nodirbek ma’lumotlaridan keyin turishi kerak degan kabi.

Saralash algoritmlari ichidagi Quick Sort ko’p hollarda Merge yoki Heap sortdan tez ishlagani bilan u turg’un saralash algoritmi hisoblanmaydi (Turg’un holga keltirishning iloji bor).

Ko’rib turgangizdek har xil algoritmlar ishlash tezliklari bir xil bo’lgani bilan bizga turli holatlarda aynan bir turdagi algoritm kerak bo’lib qolishi va u biz tuzayotgan tizim samaradorligiga ta’sir qilishi mumkin. Shu sababdan, turli xil saralash algoritmlari ishlashini o’rganish va tushunish professional dasturchi uchun muhim hislatlardan biri hisoblanadi.

To’gridan to’g’ri tanlash orqali saralash algoritmi.

To’gridan to’g’ri tanlash orqali saralash algoritmining ishlash prinsipi quyidagicha bo’ladi Aytaylik massiv elementlarini osish tartibida saralash kk bo’lsin.


  1. Massivning birinchi elementini minimum deb qabul qiladi.

  2. Minimalni ikkinchi element bilan solishtiring. Agar ikkinchi element minimaldan kichik bo'lsa, ikkinchi elementni minimal deb belgilang.Minimalni uchinchi element bilan solishtiring. Shunga qaramay, agar uchinchi element kichikroq bo'lsa, uchinchi elementga minimal qiymatni belgilang, aks holda hech narsa qilmang. Jarayon oxirgi elementga qadar davom etadi.

  3. Har bir iteratsiyadan so'ng, minimal tartiblashtirilmagan ro'yxatning old qismiga joylashtiriladi.



  1. Har bir iteratsiya uchun indekslash birinchi tartiblanmagan elementdan boshlanadi. 1 dan 3 gacha bo'lgan bosqichlar barcha elementlar o'zlarining to'g'ri joylariga joylashtirilguncha takrorlanadi.

Ushbu algoritmni grafik shaklda ifodalanishi quyidagicha bo’ladi.




Tanlovni togridan togri saralash algoritmida ro'yxat ikki qismga bo'linadi. Bir qismda barcha elementlar tartiblangan, boshqa qismida esa saralanmagan. Dastlab biz massivdan maksimal yoki minimal ma'lumotlarni olamiz. Ma'lumotni olgandan so'ng biz birinchi o'rindagi ma'lumotlarni minimal ma'lumotlar bilan almashtirib, uni ro'yxatning boshiga joylashtiramiz. Amalga oshirilgandan so'ng, massiv kichikroq bo'ladi. Shunday qilib, bu saralash texnikasi amalga oshiriladi.


Bunda ushbu alghoritm bilan tuzilgan dasturga kiruvchi ma’lumot quyidagicha bo’lsa:
Input: 19 5 22 12 2
Dastur yordamida saralangan malumot quyidagicha bo;ladi:
Output: 2 5 12 19 22

Ushbu algoritm bilan dastur dastur ishlashi ancha optimallashadi. Ammo yuqorida aytilgandek algoritmlar har doim ham foydali emas.

Tanlov saralash hamma narsa allaqachon tartiblanganligini tekshirishda yaxshi bo'lishi mumkin. Xotira maydoni cheklangan bo'lsa ham foydalanish yaxshi. Buning sababi, boshqa saralash algoritmlaridan farqli o'laroq, saralashda saralash oxirigacha narsalarni almashtirmaydi, natijada vaqtinchalik saqlash joyi kamroq ishlatiladi.

Amaliy qism.

Ushbu algoritm yordamida yozilgan dastur kodi quyidagicha bo’ladi:

#include

using namespace std;

void swapping(int &a, int &b) {

int temp;

temp = a;

a = b;

b = temp;



}

void display(int *array, int size) {

for(int i = 0; i

cout << array[i] << " ";

cout << endl;

}

void selectionSort(int *array, int size) {



int i, j, imin;

for(i = 0; i

imin = i; //eng kichik element indeksini olamiz

for(j = i+1; j

if(array[j] < array[imin])

imin = j;

//to'gri pozitgsiyaga joylashtiramiz

swap(array[i], array[imin]);

}

}

int main() {



int n;

cout << "Massiv elementlari sonini kiriting: ";

cin >> n;

int arr[n]; //kiritilgan elementlar soni bn massiv yaratamiz

cout << "elementlarni kiriting" << endl;

for(int i = 0; i

cin >> arr[i];

}

cout << "saralanmagan massiv: ";



display(arr, n);

selectionSort(arr, n);

cout << "saralangan massiv: ";

display(arr, n);

}

DASTUR ISHLASHINI TEKSHIRIB KORAMIZ.

Dastlab massiv uzunligi kiritish:

Keyin esa ushbu massiv ekementlarini kiritamiz

Va kiritishdan keyin dastur bizga massiv elementlarini o’sish tartibida joylashtirib beradi. Va ekranga quyidagi natija chiqariladi.


Natijada:
Biz kiritgan massiv: [12, 10, 25, 8, 3]

Saralangan massiv: [3, 8, 10, 12, 25]


Xulosa.
Tanlov saralash hamma narsa allaqachon tartiblanganligini tekshirishda yaxshi bo'lishi mumkin. Xotira maydoni cheklangan bo'lsa ham foydalanish yaxshi. Buning sababi, boshqa saralash algoritmlaridan farqli o'laroq, saralashda saralash oxirigacha narsalarni almashtirmaydi, natijada vaqtinchalik saqlash joyi kamroq ishlatiladi.



Foydalanilgan adabiyotlar:



  1. https://medium.com sayti

  2. https://www.tutorialspoint.com/ sayti

  3. https://www.programiz.com/ sayti

  4. https://www.geeksforgeeks.org/ sayti

Download 153,79 Kb.

Do'stlaringiz bilan baham:
1   2   3




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish