• Reja: Bog’langan ro’y’hatlar haqida tushunchaBog’langan ro’y’hatlar klassifikasiyasiBog’langan ro’y’hatlarni mantiqiy tasvirlashBir va ikki bog’lamli ro’y’hatlar ustida amallar
  • Eslatma
  • Def.2.
  • 3 bog’lamli ro’yhatga misolDef.4.
  • Ro’yhatning kamchiligiBog’langan royhatlarchiziqlichiziqsiz
  • Misol. Chiziqli ro’yhatBog’langan ro’yhatlar ustida amallar
  • Bir va ikki bog’lamli ro’yhatlarni e’lon qilishBir bogʼlamli roʼyxat tuzilmasi
  • Yarimstatik ma’lumotlar tuzilmalari
  • L-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti qarshi filiali kompyuter injerining fakulteti




    Download 0,7 Mb.
    bet1/3
    Sana04.01.2024
    Hajmi0,7 Mb.
    #129886
      1   2   3
    Bog'liq
    3 musReja Bog’langan ro’y’hatlar haqida tushuncha-fayllar.org
    6 topwiriq, Мутахассис фанларни ўқ метод. МАГИСТР, furye-qatori-funksiyalarni-furye-qatoriga-yoyish, 5, Buyruqlar tizimi arxitekturasi Reja 1-fayllar.org, Xristianlikning paydo bo‘lishi, aqidalari, asosiy yo‘nalishlari,

    MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI QARSHI FILIALI

    KOMPYUTER INJERINING FAKULTETI
    3-kurs KI-19-21 guruh talabasi
    Fan: Ma’lumotlar tuzilmasi va algoritimlar
    3
    MUSTAQIL ISHI

    Qabul qildi ______________ Abdullayev R
    Topshirdi ______________ Amirova G

    Reja:
    1.Chiziqli bog‘langan ro‘yxatlar


    2.Bog‘langan ro‘yxatlar haqida tushunchalar
    3.Stek. Stekni massiv yordamida tasvirlash va ular ustida amal bajarish algoritmlari. 4.Navbat. Navbatni massiv yordamida tasvirlash va ular ustida amal bajarish algoritmlari. 5. Dek. Dekni massiv yordamida tasvirlash va ular ustida amal bajarish algoritmlari. Stek, navbat va dek.


    “Ro‘yxat” turdagi ma'lumotlar tuzilmalari. Ro‘yxatlarni statik va dinamik tarzda amalga oshirish. Bir va ikki bog‘lamli ro‘yxatlar va ular ustida amal bajarish algoritmlari .Reja: Bog’langan ro’y’hatlar haqida tushunchaBog’langan ro’y’hatlar klassifikasiyasiBog’langan ro’y’hatlarni mantiqiy tasvirlashBir va ikki bog’lamli ro’y’hatlar ustida amallarRoʼyxatlar Roʼyxatning umumiy koʼrinishiga misol :E1, E2, ..., En, (n ≥0 boʼlib n fiksirlanmagan). Roʼyxat elementlari soni dastur bajarilishi davomida oʼzgarib turishi mumkin. Def.1.Roʼyxat deb bir turga tegishli boʼlgan elementlar ketma-ketligiga aytiladi.EslatmaRoʼyxatni tashkil etuvchi elementlar soni chegaralanmagan boʼlishi mumkin. Roʼyxatni mantiqiy tasvirlashOshkormas(massiv)Oshkor(koʼrsatkichli)Def.1.1.Roʼyxatni tashkil etuvchi elementlar soni n ga roʼyxat uzunligi deyiladi.Bog’langan ro’y’hatlar Def.1.Agar ro’yhat elementlari ko’rsatkichlar orqali bog’langan bo’lsa, u holda bunday tuzilmaga bog’langan ro’y’hatlar deyiladi.Eslatma Bog’langan ro’yhatlarning har bir elementi ikki xil maydonga ega tuzilma hisoblanadi.izohInformatsion maydonda ro’y’hat elementi ma’lumotlari, ko’rsatkichlar maydonida esa mazkur element bilan bog’langan tuzilmaning boshqa elementlari manzillari joylashgan bo’ladi.Misol.P1va P2– o’zaro bog’langan elementlarni adreslarini o’z ichiga oluvchi ko’rsatkichlardir. Ma’lumotlarР1Р2Ma’lumotlarР1Р2Ma’lumotlarР1Р2izohBog’langan ro’yhat elementining ko’rsatkichlari maydoni soni bir nechta va turli xil bo’lishi mumkin.Def.2.Ro’yhat m bog’lamli deyiladi, agar ro’yhatning hech bo’lmaganda bitta elementi ko’pi bilan tuzilmaning m ta elementi bilan o’zaro bog’langan bo’lsa.Def.3.Agar bog’langan ro’yhat elementlari mavjud bo’lmasa, u holda bunday ro’yhat bo’sh ro’yhat deyiladi.- bo’sh ro’yhat3 bog’lamli ro’yhatga misolDef.4.Agar element ko’rsatkichi 0 yoki bo’sh (NULL) bo’lsa, u holda bu element ro’yhatning eng so’nggi elementi hisoblanadi. Def.5.Bog’langan ro’yhatda yana shunday bir ko’rsatkich mavjud bo’lib, u ro’yhat boshini ko’rsatadi (Lst).Lst=NULLDef.3.Ro’yhatning afzalligiElementlarni qo’shish, o’chirish qulay va oson;Ro’yhat uzunligi faqatgina kompyuter hotirasi xajmi va ko’rsatkich razryadiga bog’liq;Elementlarni dinamik tarzda qo’shish va o’chirish mumkin. Ro’yhatda element manzilini ro’yhatdagi raqami bo’yicha aniqlash murakkab;Ko’rsatkichlar maydoniga qo’shimcha xotira vzarur bo’ladi ( massivda kerak emas);Ro’yhatda ishlash massivga nisbatan sekinroq amalga oshadi (sababi, ro’yhat elementiga murojaat undan oldingi elementlar orqali bo’ladi);Ro’yhat elementlari xotirada tartibsiz joylashgan, bu esa protsessorni keshlashtirishga salbiy ta’sir ko’rsatadi; Bog’langan ro’yhatlarda vektor amallarni bajarish qiyinroq (masalan, yig’indini hisoblash);Ro’yhatning kamchiligiBog’langan royhatlarchiziqlichiziqsizБир боғламлиIkki bog’lamliBir bog’lamliKo’p bog’lamliIkki bog’lamliizohChiziqli ro’yhatlarda elementlar orasidagi bog’liqlik qat;iy tartiblangan bo’lib, element ko’rsatkichi o’zidan navbatdagi yoki oldingi element adresini o’z ichiga oladi. Misol. Chiziqli ro’yhatBog’langan ro’yhatlar ustida amallarRo’yhatga yangi element qo’shish;ro’yhatdan elementni o’chirish;ro’yhatdan element qidirish;ro’yhat elementlarini chop etish mumkin.Eslatma: ro’yhatning ixtiyoriy elementini o’chirish, ixtiyoriy joyiga element qo’shish mumkin. Bogʼlangan roʼyxat elementlari mantiqiy tasvirlanishda yozuv kabi ifodalanadi. Dasturda class orqali ifodalash mumkin: class Node{public://klass ma’lumotlariga tashqaridan bo‘ladigan murojaatga ruxsat berishint info; // informatsion maydonNode* next;// ko‘rsatkichli maydon};int main(){Node *lst = NULL;// ro‘yhat boshi ko‘rsatkichi}Bir bog’lamli ro’yhatlarDef.1.Agar ro’yhat elementlari (tuguni) faqatgina bitta ko’rsatkichlar maydoniga ega bo’lsa, u holda bunday tuzilmaga bir bog’lamli yoki bir tomonlama yo’naltirilgan ro’yhat deyiladi.Eslatma Ro’yhat elementlari garchi ketma-ket tuzilmani tashkil etsada, ular xotirada tartibsiz joylashgan bo’lishi mumkin. Eslatma Ro’yhat elementlariga murojaat faqat ro’yhat boshidan amalga oshiriladi. Teskari aloqa yo’q. Ikki bog’lamli ro’yhatUmuman olganda, ikki bog’lamli ro’yhat bu elementlari soni bir xil, faqatgina o’zaro teskari ketma-ketlikda yozilgan ikkita bir bog’lamli ro’yhatdir.Bir va ikki bog’lamli ro’yhatlarni e’lon qilishBir bogʼlamli roʼyxat tuzilmasi:struct Node {BT inf;Node* ptr;}; Ikki bogʼlamli roʼyxat tuzilmasi:struct Node {BT inf; Node* next; Node* prev; };Ro'yhat oxiriga element qo'shishNode* p = new Node;cinnumb;p-info = numb;p-next = NULL;if (Lst == NULL){ Lst = p;lastPtr = p;}else { lastPtr-next = p;lastPtr = p;}Ro'yhat boshidan element o‘chirishNode* p = new Node;if (lst == NULL)coutelse {p = lst;lst = p-next ;delete(p);}Ro'yhatdan elementni qidirishNode* Find(Node *Lst, int x){Node *P=Lst;while(P)if (P-inf==x) return P;else P = P-ptr;return 0;} Ro'yhat elementlarini ekranga chiqarishvoid print(Node *Lst){Node* P = Lst;while(P) {cout inf";P = P-ptr;}cout
    rYarimstatik ma’lumotlar tuzilmalari
    Yarimstatik ma’lumotlar tuzilmalari deb nomlangan shunaqa tuzilmalar borki, ular ba’zi bir xususiyatlari bilan statik tuzilmalarga, ba’zi bir xususiyatlari bilan dinamik tuzilmalarga o’xshagan bo’ladi. Ya’ni dastur bajarilishi mobaynida tuzilma uzunligining o’zgaruvchanligi dinamiklik xususiyati bo’lsa, elementlari xotirada ketma-ket joylashishi statik tuzilmalarga o’xshash bo’ladi. Yarimstatik ma’lumotlar tuzilmasi bir xil toifadagi elementlar ketma-ketligi hisoblanadi va unga
    Steklar
    Navbatlar
    Deklar
    kiradi. Deyarli barcha zamonaviy dasturlash tillarida yuqorida keltirilgan tuzilmalat bilan ishlash uchun kutubxonalar mavjud. Va ular konteyner ko’rinishida realizatsiya qilingan. Shuni aytib o’tish kerakki, bu yarimstatik tuzilmalarni dasturda statik tuzilma ko’rinishida xam va dinamik tuzilma ko’rinishida xam ifodalash mumkin, faqat yarimstatiklik shartlarini buzmagan holda, ya’ni bu tuzilmalarning barchasida ixtiyoriy elementlarga tashqaridan murojaat qilib bo’lmaydi.
    Steklar
    Stek - chiziqli ma’lumotlar tuzilmasi bo’lib, ma’lumotlarni kiritish va chiqarish uning bir tomonidan amalga oshiriladi. Bunday stek kafeteriyadagi tarelkalar to’plamini eslatadi. Yangi elementlar stekning uchiga qo’yiladi va yuqori qismidan olinadi. Oxirgi qo’yilgan element stek uchidan birinchi bo’lib olinadi. Shu sababli, stek LIFO (last in first out) tuzilishidagi ma’lumotlar tuzilmasi bo’ladi, ya’ni, “oxirgi kelgan birinchi ketadi” prinsipi bo’yicha ishlaydi.
    Stek o’lchami cheklangan bo’lsa, elementni stekka qo’yilishi stekda kamida bitta elementga joy bo’lgan holdagina amalga oshiriladi. Shuning uchun stek ustida amal bajarishdan oldin stek holatini tekshirish lozim bo’ladi,ya’ni
    Stekka element kiritilishidan oldin joy borligini tekshirish;
    Stekdan elementni o’chirishdan oldin element borligini tekshirish.
    Steklar bilan ishlash uchun C++ tilida tayyor kutubxona mavjud bo’lib, unga dastur boshida #include deb murojaat qilish kerak. Dasturda stek e’lon qilish uchun quyidagicha yozish kerak.

    Download 0,7 Mb.
      1   2   3




    Download 0,7 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    L-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti qarshi filiali kompyuter injerining fakulteti

    Download 0,7 Mb.