• Massivlarni birlashtirib saralash algoritmi Birlashmali saralash
  • WriteLine
  • Узбекистон Республикаси Олий ва Урта Махсус




    Download 297,23 Kb.
    bet8/9
    Sana15.02.2024
    Hajmi297,23 Kb.
    #157371
    1   2   3   4   5   6   7   8   9
    Bog'liq
    Masivlarni tashkil etish

    2.2 2-rasm. Bog‘langan ro‘yxatlar konkatenatsiyasi
    Taqqoslanma saralashlarning bajarilish vaqtlari. Qo‘yish usuli. Agar ichki siklga qarasak yozuvlarning tartiblangan qismiga qo‘shilgan element qolgan elementlardan kichik bo‘lsa operasiyalar eng ko‘p bajariladi. Bu holda location o‘zgaruvchisi 0 ga teng bo‘lganda sikl o‘z ishini tugatadi. SHuning uchun yangi element massiv boshiga qo‘shilganda algoritm eng ko‘p bajariladi. Bunday holat joriy massivning elementlari kamayish tartibida joylashgan bo‘lsa bo‘lishi mumkin. Bu yomon holatlardan biridir.

    Bunday massivni qayta ishlash jarayoni qanday bo‘lishini ko‘rib chiqamiz. Birinchi massivning ikkinchi elementi qo‘yiladi. U faqat bitta element bilan solishtiriladi. Ikkinchi qo‘yiladigan element (tartib buyicha uchinchi) oldingi ikkita element bilan, uchinchi qo‘yilgan element oldingi uchta element bilan solishtiriladi. Umuman olganda i - qo‘yiladigan element oldingi i ta element bilan solishtiriladi va bu jarayon N-1 marta takrorlanadi.



    2.3 Massivlarni birlashtirib saralash algoritmi

    Birlashmali saralash (Merge Sort) algoritmi asosiy beshta saralash algoritmlari (pufakchali saralash, tezkor saralash va boshqalar) dan biri bo`lib, chiziqli saralash algoritmlaridan farqli ravishda "bo`lib tashla va hukmronlik qil" tipidagi algoritm hisoblanadi.


    Bu tipdagi algoritmlar katta hajmdagi masalalarni nisbatan kichik bo`lgan va oson yechiladigan qismlarga ajratgan holda bajaradi. Bunday algoritmlar masalalarni hal qilishda vaqtdan katta yutuq qilish imkonini beradi.


    Birlashmali saralashda biz berilgan massivni uzunligi faqat 1 elementga teng bo`lgan qismlar qolmaguncha o`rtasidan ajratamiz. Keyin bu qismlar to`g`ri tartibda birlashtiriladi.




    using System; namespace Asosiy

    { class Program


    { static void Main(string[] args)


    {


    Console.WriteLine("Nechta harflarni saralaymiz?"); int N = Convert.ToInt32(Console.ReadLine());

    Console.WriteLine("Saralanishi kerak bo'lgan harflarni kiriting:"); char[] mas=new char[N]; for (int i = 0; i < mas.Length; i++)


    { mas[i] = Convert.ToChar(Console.ReadLine());


    } char temp; for


    (int i = 0; i < mas.Length;


    i++)

    { for (int j = i + 1; j < mas.Length; j++) { if (mas[i] > mas[j])


    18


    { temp = mas[i]; mas[i] = mas[j]; mas[j] = temp;

    }


    }

    }


    Console.WriteLine("Saralashdan keyin:"); for (int i =

    0; i < mas.Length; i++)


    {


    Console.WriteLine (mas[i].ToString());

    }


    Console.ReadKey();

    }


    }

    }







    Dastur algoritmini ko’rib chiqamiz:




    BOSHLASH



    Nechta
    raqamlarni







    TAMOM



    Download 297,23 Kb.
    1   2   3   4   5   6   7   8   9




    Download 297,23 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Узбекистон Республикаси Олий ва Урта Махсус

    Download 297,23 Kb.