Algoritm tushunchasi


b[] massiv elementlarini dekka o‘ng tomondan kiritamiz


Download 86.83 Kb.
bet8/15
Sana03.12.2023
Hajmi86.83 Kb.
#1801449
1   ...   4   5   6   7   8   9   10   11   ...   15
Bog'liq
Algoritm tushunchasi-fayllar.org



b[] massiv elementlarini dekka o‘ng tomondan kiritamiz.




  • Dek tarkibini ekranga chiqaramiz.




    Dastur kodi

    #include

    #include

    using namespace std;

    struct DEQUE

    {
    int data[50];

    int DO,DB;


    DEQUE(){DO=DB=24;}
    void ADD(int X, bool K=true)
    {
    if (K)data[--DB]=X;

    else data[DO++]=X;


    }
    void PRINT()

    {


    for(int i = DB; i<="" i="">
    cout << data[i]<<"\t";
    cout<
    }
    int DEL(bool k=true)

    {


    if (k) return data[DB++];
    else return data[--DO];
    }
    };

    int main()

    {
    int n;

    cin>>n;


    DEQUE A;

    while(n--)

    A.ADD(rand()%100+1);
    A.PRINT();
    cout << A.DEL(false) << endl;
    cout << A.DEL(false) << endl;
    cout << A.DEL(true) << endl;
    cout << A.DEL(true) << endl;
    A.PRINT();

    return 0;


    14 Dinamik ma’lumotlar tuzilmasi
    Dinamik ma'lumotlar tuzilmalari ikki shaklda bo'ladi: bog'liq bo'lmagan dinamik ma'lumotlar; bog’liq dinamik ma'lumotlar. Bog’liq bo'lmagan dinamik ma'lumotlar tuzilmasi statik bilan bir xil. Bundan tashqari, bog'liq bo'lmagan dinamik ma'lumotlar avtomatik ravishda emas, balki dasturchi tomonidan xotirada saqlanadi. Bog’liq bo’lgan dinamik ma'lumotlarga ro'yxatlar, navbatlar va ustunlar kiradi; Dinamik ma’lumotlar tuzilmasi – bu qandaydir bir qonuniyatga asoslanib shakllangan, lekin elementlari soni, o’zaro joylashuvi va o’zaro aloqasi dastur bajarilishi davomida shu qonuniyat asosida dinamik o’zgaruvchan bo’lgan ma’lumotlar tuzilmasidir. Dasturlarda dinamik ma’lumotlar tuzilmasidan ko’pincha chiziqli ro’yhatlar, steklar, navbatlar va binar daraxtlar ishlatiladi. Bu tuzilmalar bir-biridan elementlarning bog’lanish usuli va ular ustida bajarilishi mumkin bo’lgan amallari bilan farqlanadi. Dinamik tuzilmalar massiv va yozuvdan farqli ravishda operativ xotirada ketma-ket sohalarda joylashmaydi. Ixtiyoriy dinamik tuzilma elementi 2 ta maydondan tashkil topadi: tuzilma tashkil etilishiga sabab bo’layotgan informatsion maydon va elementlarning o’zaro aloqasita’minlovchi ko‘rsatkichlimaydon.
    15 Saralash algoritmlari. Saralash algoritmlarining murakkabligi
    Saralashning ichki va tashqi saralash turi mavjud:
    1.ichki saralash - bu tezkor xotiradagi ma’lumotlarni saralash;
    2.tashqi saralash - tashqi xotira (fayllar)dagi ma’lumotlarni saralash.
    Saralash deganda ma’lumotlarni xotirada muayyan tartibda uning
    kalitlari boʻyicha joylashtirish, muayyan tartib deganda esa kalit qiymati
    boʻyicha oʻsish (yoki kamayish) tartibida roʻyxatning boshidan
    oxirigacha joylashtirish tushuniladi.
    Saralash algoritmlarining samaradorligini bir necha parametrlari
    boʻyicha farqlash mumkin. Bu parametrlarning asosiylari quyidagilar
    hisoblanadi:
    -saralash uchun sarflanadigan vaqt;
    - saralash uchun talab qilinadigan tezkor xotira hajmi.
    Saralash algoritmlarini baholashda faqat “joyida” saralash usullarini
    qarab chiqamiz, ya’ni saralash jarayoni uchun qoʻshimcha xotira
    zahirasi talab qilinmaydi. Ma’lumotlarni saralashning qat’iy (toʻgʻri) va yaxshilangan usullari mavjud boʻlib, qat’iy usullariga quyidagilarni misol qilib olish mumkin:
    1) toʻgʻridan-toʻgʻri qoʻyish orqali saralash usuli;
    2) toʻgʻridan-toʻgʻri tanlash orqali saralash usuli;
    3) toʻgʻridan-toʻgʻri almashtirish orqali saralash usuli.
    Saralash algoritmi – bu roʻyxatdagi elementlarni saralash
    algoritmi. Agar roʻyxat elementida bir nechta maydon boʻlsa, saralash
    amalga oshiriladigan maydon saralash kaliti deb ataladi. Amalda raqam
    koʻpincha kalit sifatida ishlatiladi va ba’zi ma’lumotlar algoritm
    ishlashiga hech qanday ta’sir koʻrsatmaydigan qolgan maydonlarda
    saqlanadi.
    16 Saralash algoritmlari va ularning tahlili
    Saralash algoritmi – bu roʻyxatdagi elementlarni saralash
    algoritmi. Agar roʻyxat elementida bir nechta maydon boʻlsa, saralash
    amalga oshiriladigan maydon saralash kaliti deb ataladi. Amalda raqam
    koʻpincha kalit sifatida ishlatiladi va ba’zi ma’lumotlar algoritm
    ishlashiga hech qanday ta’sir koʻrsatmaydigan qolgan maydonlarda
    saqlanadi. Massivlarni saralash masalasini yechishda odatda qoʻshimcha
    xotiradan foydalanishni minimallashtirish talabi qoʻyiladi, bu esa
    qoʻshimcha massivlardan foydalanishga yoʻl qoʻyilmasligini anglatadi.
    Quyidagi koʻrsatkichlar ham muhimdir:
    • Xotira. Bir qator algoritmlar ma’lumotlarni vaqtincha saqlash
    uchun qoʻshimcha xotira ajratishni talab qiladi. Amaldagi xotirani
    baholashda boshlangʻich massiv egallagan joy, kirish ketma-ketligidan
    mustaqil sarflangan xotira, masalan, dastur kodini saqlash uchun
    ajratilgan joy hisobga olinmaydi.
    • Turgʻunlik. Doimiy saralash teng elementlarning nisbiy holatini
    oʻzgartirmaydi. Ushbu xususiyat juda foydali boʻlishi mumkin, agar ular
    bir nechta maydonlardan iborat boʻlsa va saralash ulardan biri
    tomonidan amalga oshirilsa.
    Barcha saralash usullarini ikkita katta guruhga boʻlish mumkin:
    • Saralashning bevosita usullari;
    • Takomillashtirilgan saralash usullari;
    Toʻgʻridan-toʻgʻri tartiblash usullari usul asosida yotadigan
    prinsipga koʻra, uchta kichik guruhga boʻlinadi:
    • oddiy qoʻshimchalar boʻyicha saralash (qoʻshish);
    • tanlash (saralash) boʻyicha saralash;
    • Almashish boʻyicha saralash ("Pufakchali" saralash).


    Download 86.83 Kb.

    Do'stlaringiz bilan baham:
  • 1   ...   4   5   6   7   8   9   10   11   ...   15




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