• Bajardi: Abduvahobova Odina
  • Muhammad Al-Xorazmiy nomida Toshkent Axborot texnologiyalari universiteti




    Download 457,06 Kb.
    Pdf ko'rish
    Sana06.01.2024
    Hajmi457,06 Kb.
    #131158
    Bog'liq
    Abduvahobova Odina amaliy-3
    aniq va mavxum otlar, 2 5197634611185721400, Nutq turlari va shakllari, 15-амалий, Reja Ta’lim metodlari va usullari tushunchalari, Assotsiatsiyalar-metodi (2), Baliq-skeleti-metodi (2), Birgalikda-oqiymiz (2), maluotnoma.... tersu, Sobitjon IAKT, 11-sinf-Ona-tili-ish-reja, 9-amaliy mashg\'ulot (1), Mavzu Algebraik masalalarni yechishda tanqidiy tafakkurni rivoj, DIQQAT HAQIDA TUSHUNCHA, Mehnat unumdorligi iqtisodiy o`sish omili sifatida


     
     
     
    Muhammad Al-Xorazmiy nomida Toshkent 
    Axborot texnologiyalari universiteti 
     
     
     
     
    Amaliy ish-3
     
    Mavzu:
    MA’LUMOTLARNI SARALASH USULLARINI TADQIQ 
    QILISH
     
     
     
    Bajardi:
    Abduvahobova Odina
     
     


    3-tajriba ishi. MA’LUMOTLARNI SARALASH USULLARINI TADQIQ QILISH 
    Ta’mirlash ustaxonasida bir nechta (N ta) mashina bor. Ular to‘g‘risida quyidagi 
    ma’lumotlarga egamiz: raqami, markasi, egasining ismi, oxirgi marta ta’mirlanganligi 
    sanasi (kuni, oyi, yili), ta’mirdan chiqishi lozim bo‘lgan sana (kun, oy, yil).
    To‘g‘ridan-to‘g‘ri qo‘shish usulidan foydalanib, saralashni amalga oshirish dasturini 
    ishlab chiqish (variantga mos ravishda): 
    2.Avtomobillarni ta’mirlash tartibi ishlab chiqilsin. Bu yerda ta’mir tugashi sanasi qaysi 
    avtomobil uchun ertaroq bo‘lsa, shunga birinchi navbatda xizmat ko‘rsatiladi. 
    Dastur kodi 
    #include  
    #include  
    #include  
    using namespace std; 
    struct Car { 
    int number; 
    string brand; 
    string ownerName; 
    string lastRepairDate; // 
    Oxirgi ta'mirlangan sanasi (kuni, oyi, yili) 
    string nextRepairDate; // 
    Ta'mirdan chiqishi lozim bo'lgan sanasi (kuni, oyi, yili)
    }; 
    // 
    Ta'mir tugashi sanasiga ko'ra avtomobillarni tartiblash funksiyasi
    bool sortByNextRepairDate(const Car &car1, const Car &car2) { 
    return car1.nextRepairDate < car2.nextRepairDate; 

    int main() { 
    vector cars = { 
    {1, "Toyota", "John", "12/05/2022", "20/04/2023"}, 
    {2, "Honda", "Alice", "20/07/2022", "15/03/2023"}, 
    {3, "Ford", "Mike", "05/06/2022", "18/03/2023"}, 
    // 
    ... qolgan avtomobillar ma'lumotlari
    }; 
    // 
    Ta'mirlash tugashi sanasi bo'yicha avtomobillarni tartiblash
    sort(cars.begin(), cars.end(), sortByNextRepairDate); 
    // 
    Ta'mirlash tartibini chiqarish 
    cout << "Ta'mirlash tartibi:" << endl; 
    for (const auto &car : cars) { 
    cout << "Raqami: " << car.number << ", Markasi: " << car.brand << ", Ta'mir 


    tugashi sanasi: " << car.nextRepairDate << endl; 

    // 
    Avtomobilni birinchi navbatda ta'mirlash lozimiyatini aniqlash
    cout << "Birinchi navbatda xizmat ko'rsatilishi kerak avtomobil: " << 
    cars[0].brand << endl; 
    return 0; 

     


    Umuman olganda saralashning maqsadi berilgan Ob’yektlar to‘plamini aniq
    bir tartibda guruhlab chiqish jarayoni ta’riflanadi. Saralashning maqsadi
    keyinchalik, saralangan to‘plamning qidirilayotgan elementini topishdan iborat. 
    Bu
    qariyb universal, fundamental jarayon. Biz bu jarayon bilan har kuni uchrashamiz
    – telefon daftaridagi saralash, kitoblar sarlavhasida, kutubxonalarda, lug‘atlarda,
    pochtada va hokazo [6]. 
    Xatto yosh bolalar ham o‘z narsalarini tartiblashga o‘rganadi. 
    Saralashning juda ko‘p usullari mavjud. Ular turli to‘plamlar uchun turlicha
    bo‘lishi mumkin. 
    a1, a2, a3,……….., an 
    elementlar berilgan bo‘lsin, u holda massivni saralash deganda, uni elementlarini
    o‘rinlariga almashtirish tushuniladi. 
    ak1,ak2,ak3,………….,ak 
    bu yerda, quyidagi tartiblashtirilgan funksiya bajariladi. 
    f(ak1)≤ f(ak2)≤ f(ak3)≤…. f(akn) 
    Massivlarni saralash. Massivni saralash uchun ishlatiladigan usul unga
    berilgan xotirani ixcham holda ishlatishdir. Boshqacha qilib aytganda,
    saralanayotgan massiv xuddi shu massivni o‘zida amalga oshirilishi lozim.
    Saralanayotgan a massiv elementlarini kiritib, uni boshqa bir d massivda
    saralangan holda saqlanishi bizda hech qanday qiziqish uyg‘otmaydi. 
    Saralash usullari kam mashina vaqtini talab qilishi lozim. Eng yaxshi tez
    algoritmlar n*log n tartibidagi saralashlarni talab etadi. 
    Biz saralash bo‘yicha bir nechta sodda va ma’lum usullarni ko‘rib chiqamiz.
    Ular to‘g‘ri usullar deb aytiladi. 
    Saralash usullari to‘g‘risida quyidagi fikrlarni bildirish mumkin: 
    1. To‘g‘ri usullar ko‘plab saralashning asosiy tamoyillarining xarakterini
    ochib berishi uchun qulay. 


    2. Bu usullarni dasturlar oson tushunadi va ular qisqa. Eslatib o‘tamiz,
    dasturning o‘zi ham xotira egallaydi. 
    3. Murakkab usullar ko‘p sondagi amallarni talab qiladi, lekin bu
    amallarning o‘zlari yetarlicha murakkab bo‘lganlari uchun, kichik n larda tez va
    katta n larda sekin ishlaydi. Ammo ularni katta n larda ishlab bo‘lmaydi.
    Bitta massivni o‘zida saralashni ularni mos aniqlangan tamoyillari bilan uch
    kategoriyaga ajratish mumkin: 
    1. Qo‘shish orqali saralash (by insertion); 
    2. Ayirish orqali saralash (by selection); 
    3. Almashish orqali saralash (by exchange). 
    To‘g‘ridan-to‘g‘ri qo‘shish orqali saralash. Bu usul qarta o‘yinida ko‘p
    qo‘llaniladi. Qartaning elementlari fikran tayyor holdagi a1,a2,……,ai-1 
    ketma ketliklarga va dastlabki ketma-ketliklar ai, …….,an bo‘linadi. 
    Har qadamda i=2 dan boshlab i ta element ketma-ketlikdan chiqariladi va
    tayyor ketma-ketlikka qo‘yiladi. Bunda u har doim kerakli joyga qo‘yiladi. i ning
    qiymati har doim bittaga oshirib boriladi. 
    Saralashning maqsadi berilgan ob’yektlar to‘plamini aniq bir tartibda
    guruhlab chiqish jarayoni ta’riflanadi.
    a0, a1... an ketma – ketlik berilgan bo‘lsin.
    Ketma – ketlikning elementlarini saralash (masalan: ai <= ai+1 , i = 0 dan n-1
    gacha) masalasi qo‘yilgan bo‘lsin. Bu masalani ishlash algoritmini tanlaganda
    quyidagilarni baholash zarur: Saralash vaqti – algoritmni baholaydigan asosiy
    parametr hisoblanadi. Hotira – algoritm ishlashi uchun ketadigan qo‘shimcha
    hotira hajmi. Bunda berilganlar va dastur kodi uchun ketadigan hotira hajmi
    hisobga olinmaydi. Turg‘unlik – dasturni ketma – ketlikning boshqa qiymatlarda
    ham turg‘un ishlashi tushuniladi. Saralash algoritmlari klassifikasiyasi. Berilgan
    ketma – ketlikni saralashda ketma – ketlikning harakteristikasiga mos ravishda u
    yoki bu saralash algoritmi olinadi. Aks holda algoritmlar kerakli natijani 
    bermaydi.


    1. “Tez” saralash algoritmi: 
    “Tez” saralash algoritmi bosqichlari:
    2. Massivning o‘rta elementini tanlab olamiz.
    3. O‘rta element chap tomoniga o‘rta elementdan kichik elementlarni
    joylashtiramiz, o‘rta elementning o‘ng tomoniga esa o‘rta elementdan katta
    elementlarni joylashtiramiz. 
    int i=quyi; 
    int j=yuqori; 
    int x=A[(quyi+yuqori)/2]; 
    do { 
    while(A[i]while(A[j]>x) --j; 
    if(i<=j){ 
    int temp=A[i]; 
    A[i]=A[j]; 
    A[j]=temp; 
    i++; j--; 

    } while(i<=j); 
    Pufaksimon saralash algoritmi.
    Massiv elementlarini tepadan pastga qarab saralaymiz. Bunda faqat juft
    elementlar ai <= ai+1 ( i = 0 dan n-1 gacha) shart bilan tekshiriladi, agar shart
    bajarilmasa ular o‘zaro o‘rin almashtiriladi. 


    Bu jarayon ohirgi element qolguncha bajariladi. Natijada massiv elementlari
    o‘sish tartibida saralanadi.
    Dasturdagi bosqichlar: 
    long i, j,
    float x, a[]; 
    for( i=0; i < size; i++)
    for( j = size-1; j > i; j-- )
    { if ( a[j-1] > a[j] )
    {x=a[j-1]; a[j-1]=a[j]; a[j]=x; } } 
    Saralashning maqsadi keyinchalik, saralangan to‘plamni qidirilayotgan
    elementini topishdan iborat. Bu qariyb universal, fundamental jarayon. Biz bu
    jarayon bilan har kuni uchrashamiz – telefon daftaridagi saralash, kitoblar
    sarlavhasida, kutubxonalarda, lug‘atlarda, pochtada va h.k. Xatto yosh bolalar ham
    o‘z narsalarini tartiblashga o‘rganadi. Saralashning juda ko‘p usullari mavjud. Ular
    turli to‘plamlar uchun turlicha bo‘lishi mumkin. Massivlarni saralash uchun
    ishlatiladigan usul unga berilgan xotirani ixcham holda ishlatish lozim. Boshqacha
    qilib aytganda, saralanayotgan massiv xuddi shu massivni o‘zida amalga oshirilishi
    lozim. Saralanayotgan a massivni elementlarini kiritib, unda boshqa bir d massivda
    saralangan holda tashkil topgan bizga hech qanday qiziqish uyg‘otmaydi.
    tartibidagi saralashlarni talab etadi. Biz quyidagi saralash bo‘yicha bir nechta
    sodda va ma’lum usullarni qaraymiz. Ular to‘g‘ri usullar deb aytiladi. Saralash
    usullari to‘g‘risida quyidagi fikrlarni bildirish mumkin:


    1. To‘g‘ri usullar ko‘plab saralashning asosiy tamoyillarining xarakterini
    ochib berishi uchun qulay.
    2. Bu usulli dasturlar oson tushuniladi va ular qisqa. Eslatib o‘tamiz,
    dasturning o‘zi ham xotira egallaydi.
    3. Murakkab usullar ko‘p sondagi amallarni talab qiladi, lekin bu amallarning
    o‘zlari yetarlicha murakkab bo‘lganlari uchun, kichik n larda tez va katta n larda
    sekin ishlaydi. Ammo ularni katta n larda ishlab bo‘lmaydi.
    Bitta massivni o‘zida saralashni ularni mos aniqlangan tamoyillari bilan uch
    kategoriyaga ajratish mumkin:
    1. Qo‘shish orqali saralash (by insertion); 
    2. Ayirish orqali saralash (by selection); 
    3. Almashish orqali saralash (by exchange). 
    To‘g‘ridan-to‘g‘ri qo‘shish orqali saralash 
    Bu usul karta o‘yinida ko‘p qo‘llaniladi.
    Kartaning elementlari fikran tayyor holdagi ketma-ketlik qismlarga
    bo‘linadi. 
    Har qadamda i=2 dan boshlab i ta element ketma-ketlikdan chiqariladi va
    tayyor ketma-ketlikka qo‘yiladi. Bunda u har doim kerakli joyga qo‘yiladi.
    i ning qiymati har doim bittaga oshirib boriladi. 
    To‘g‘ridan to‘g‘ri tanlash yordamida saralash 
    • Eng kichik kalitli element tanlanadi. 
    • Uni birinchi element a1 bilan o‘rinlari almashtiriladi. 
    So‘ng bu jarayon qolgan n-1 element bilan, so‘ngra n-2 element bilan va h.k.
    bitta eng katta element qolmaguncha davom ettiriladi. 


    Pufaksimon saralash: 


     
     
     
     
     
     
     


     

    Download 457,06 Kb.




    Download 457,06 Kb.
    Pdf ko'rish

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Muhammad Al-Xorazmiy nomida Toshkent Axborot texnologiyalari universiteti

    Download 457,06 Kb.
    Pdf ko'rish