• Pufakchani saralash algoritmi
  • Bubble Sort qanday ishlaydi
  • Ichki saralash algoritmlari




    Download 29,81 Mb.
    bet2/16
    Sana15.11.2023
    Hajmi29,81 Mb.
    #99092
    1   2   3   4   5   6   7   8   9   ...   16
    Bog'liq
    Dilshoda Algoritm mustaqil

    Ichki saralash algoritmlari:
    Saralash paytida faqat asosiy xotiradan foydalanadigan saralashalgoritmlari ichki tartiblash algoritmlari deb ataladi. Ushbu turdagi algoritm barcha xotiraga yuqori tezlikda tasodifiy kirishni nazarda tutadi. Ushbu tartiblash xususiyatidan foydalanadigan umumiy algoritmlardan ba'zilari quyidagilardir: Bubble sort, Selection sort, Insertion sort va Quick sort saralash algoritmlari kiradi.

    Pufakchani saralash algoritmi


    Bubble Sort - bu eng oddiy tartiblash algoritmi bo'lib, agar ular noto'g'ri tartibda bo'lsa, ulashgan elementlarni qayta-qayta almashtirish orqali ishlaydi. Ushbu algoritm katta ma'lumotlar to'plamlari uchun mos emas, chunki uning o'rtacha va eng yomon vaqt murakkabligi ancha yuqori.

    Bubble Sort qanday ishlaydi?



    Pufakcha saralash
    Kirish: arr[] = {6, 3, 0, 5}
    Birinchi o'tish: 

    • Pufakchani saralash birinchi ikkita elementdan boshlanadi va qaysi biri katta ekanligini tekshirish uchun ularni solishtiradi.

      • ( 6 3 0 5 ) –> ( 3 6 0 5 ), Bu yerda algoritm dastlabki ikki elementni solishtiradi va 6 > 3 dan keyin almashtiriladi. 

      • ( 3 6 0 5 ) –> ( 3 0 6 5 ), 6 > 0 dan beri almashtirish 

      • ( 3 0 6 5 ) –> ( 3 0 5 6 ), 6 > 5 dan beri almashtirish 

    Ikkinchi o'tish: 

    • Endi, ikkinchi iteratsiya paytida u quyidagicha ko'rinishi kerak:

      • 3 0 5 6 ) –> ( 0 3 5 6 ), 3 > 0 dan beri almashtirish 

      • ( 0 3 5 6 ) –> ( 0 3 5 6 ), 5 > 3 sifatida oʻzgarish yoʻq 

    Uchinchi o'tish: 

    • Endi massiv allaqachon tartiblangan, ammo bizning algoritmimiz uning tugallanganligini bilmaydi.

    • Algoritm tartiblanganligini bilish uchun uni almashtirishsiz bitta to'liq o'tish kerak.

      • 0 3 5 6 ) –> ( 0 3 5 6 ), 3 > 0 sifatida oʻzgarish yoʻq 

    Massiv endi tartiblangan va boshqa o'tish amalga oshirilmaydi.
    Muammoni hal qilish uchun quyidagi amallarni bajaring:

    • 0 ≤ i < n-1 va 0 ≤ j < ni-1 boʻladigan ikkita i va j oʻzgaruvchilari yordamida kirish massivini aylanib oʻtish uchun ichki oʻrnatilgan for siklini ishga tushiring.

    • Agar arr[j] arr[j+1] dan katta bo'lsa , bu qo'shni elementlarni almashtiring, aks holda davom eting.

    • Saralangan massivni chop eting

    Quyida yuqoridagi yondashuvni amalga oshirish ko'rsatilgan:
    // C# program for implementation
    // of Bubble Sort
    using System;
     
    class GFG {
    static void bubbleSort(int[] arr)
    {
    int n = arr.Length;
    for (int i = 0; i < n - 1; i++)
    for (int j = 0; j < n - i - 1; j++)
    if (arr[j] > arr[j + 1]) {
    // swap temp and arr[i]
    int temp = arr[j];
    arr[j] = arr[j + 1];
    arr[j + 1] = temp;
    }
    }
     
    /* Prints the array */
    static void printArray(int[] arr)
    {
    int n = arr.Length;
    for (int i = 0; i < n; ++i)
    Console.Write(arr[i] + " ");
    Console.WriteLine();
    }
     
    // Driver method
    public static void Main()
    {
    int[] arr = { 5, 1, 4, 2, 8};
    bubbleSort(arr);
    Console.WriteLine("Sorted array");
    printArray(arr);
    }
    }



    Download 29,81 Mb.
    1   2   3   4   5   6   7   8   9   ...   16




    Download 29,81 Mb.