konteynerlar (kolleksiyalar). chiziqli konteynerlar va stl kutubxonalari tushunchasi

DOCX 18 sahifa 44,6 KB Bepul yuklash

Sahifa ko'rinishi (5 sahifa)

Pastga aylantiring 👇
1 / 18
19 amaliy mashg‘ulot. konteynerlar (kolleksiyalar). chiziqli konteynerlar va stl kutubxonalari tushunchasi konteyner (kolleksiya) dasturlashda boshqa obyektlar to‘plamini o‘zida saqlash imkonini beruvchi ma’lumotlar turi. boshqacha aytganda, konteyner ma’lum turdagi ko‘plab elementlarni o‘z ichiga oladi. konteyner ma’lum bir ma’lumotlar tuzilmasini - kompyuter xotirasida ma’lumotlarni tashkil etish usuliniru.wikipedia.org amalga oshirishini tushunish muhimdir. ma’lumotlar tuzilmasi qaysi elementlar bilan ishlash samarali va qaysilari samarasizroq bo‘lishini aniqlaydihabr.com. chiziqli ma’lumotlar tuzilmalari - bu elementlari ketma-ketlikni tashkil etuvchi tuzilmalardir (har bir element bevosita keyingi va/yoki oldingi qo‘shniga ega). bunday tuzilmalarda elementlarni aylanib o‘tish (ko‘rib chiqish) chiziqli tartibda, birin-ketin amalga oshiriladihabr.com. chiziqli strukturalarga massivlar, bog‘langan ro‘yxatlar, stek va navbat misol bo‘ladi. ulardan farqli o‘laroq, chiziqli bo‘lmagan ma’lumotlar tuzilmalari (masalan, daraxtlar, graflar) bir chiziqqa joylashtirilmagan. amaliyotda yuqori darajadagi dasturlash tillari konteynerlarning tayyor amalga oshirilishini ta’minlaydi. c++ tilida vektor, list, deque, set, map va boshqa konteynerlarga ega standart shablonlar kutubxonasi (stl) mavjud. python tilida o‘rnatilgan kolleksiya turlari to‘plami mavjud: ro‘yxat (list), …
2 / 18
’lum bir tartibda saqlaydi (0 va undan yuqori indekslar) va doimiy vaqt davomida indeks bo‘yicha elementga murojaat qilish imkonini beradi o (1) wiki.python.orgwiki.python.org. ro‘yxatning ichki qurilmasi - massiv (xotirada ketma-ket joylashgan elementlar to‘plami) stackoverflow.com. bu c++ tilidagi std::vectorga o‘xshaydiadimahamuni.medium.com, ya’ni python ro‘yxati elementlarni uzluksiz xotira blokida saqlashni ta’minlaydi va elementlar qo‘shilishi/olib tashlanishi bilan bu blokni avtomatik ravishda kengaytirish yoki qisqartirishni biladi (dinamik massivnigeeksforgeeks.org amalga oshiradi). ro‘yxatning asosiy xususiyatlari: · o‘zgaruvchanlik: ro‘yxat - o‘zgaruvchan (o‘zgartiriladigan) konteyner. yaratilgandan keyin elementlarni qo‘shish, o‘chirish, o‘zgartirish mumkin. · takrorlanishga ruxsat beradi: bir xil element (qiymat) bir necha marta uchrashi mumkin. · tartiblanganlik: elementlarni joylashtirish tartibi saqlanadi (ro‘yxat iteratsiyasi elementlarni ularning indekslari tartibida chiqaradi). ro‘yxatlar bilan asosiy amallar: # ta ro‘yxat yaratish nums = [10, 20, 30] ro‘yxatning # ta harfi nums2 = list (range (5)) # list () funksiyasi orqali # ta indeksli ruxsat print (nums[1]) # 20 (elementlar 0 dan boshlab raqamlanadi) nums[1] = …
3 / 18
a amalga oshiriladi o (1) wiki.python.orgwiki.python.org. bu ro‘yxatni stekni (lifo) amalga oshirish uchun qulay qiladi. elementni indeks bo‘yicha o‘qish yoki yozish ham juda tez - o (1), elementlarning xotirada uzluksiz joylashishi tufayliwiki.python.org. biroq, ro‘yxatning boshi yoki o‘rtasidagi elementlarni qo‘shish yoki olib tashlash elementlarning qolgan qismini siljitishni talab qiladi, shuning uchun ular chiziqli vaqt ichida amalga oshiriladi o (n) wiki.python.orgwiki.python.org. masalan, pop (0) (birinchi elementni o‘chirish) amali ro‘yxat hajmiga mutanosib mehnat talab qiladi (har bir qolgan element bir pozitsiyaga suriladi) stackoverflow.com. elementni qiymati bo‘yicha qidirish (amal x in list) o‘rtacha o (n) ham bo‘ladi, chunki eng yomon holatda har bir elementni tekshirish kerak bo‘ladi. eslatma: ko‘rsatilgan xususiyatlar tufayli ro‘yxat quyidagi ssenariylar uchun optimal hisoblanadi: · indeks bo‘yicha ixtiyoriy tezkor kirish; · ketma-ketlik oxiriga samarali qo‘shish/olib tashlash; · nisbatan kam sonli elementlarni saqlash (kichik n larda chiziqli amallar kritik emas). agar tuzilma boshidagi elementlarni tez-tez qo‘shish yoki olib tashlash yoki ma’lum elementlarni …
4 / 18
‘xshash, lekin o‘zgarmas elementlarning tartiblangan ketma-ketligi. kortejlar qavs bilan yoki oddiygina vergul orqali sanab ko‘rsatiladi: t = (1, 2, 3) yoki t = 1, 2, 3. kortej yaratilgandan so‘ng uni o‘zgartirish mumkin emas: na qo‘shish, na o‘chirish, na elementlarni almashtirish (t[0] = x ni o‘zlashtirishga urinish xatoga olib keladi). aslida, kortej o‘zgarmas (o‘zgarmas) ro‘yxatdirgeeksforgeeks.org. kortejlarning asosiy xususiyatlari: · o‘zgartirib bo‘lmaslik: ro‘yxatdan farqli o‘laroq, kortej yaratilgandan keyin o‘zgartirilmaydi. bu uni hashable (heshlangan) obyektga aylantiradi, masalan, lug‘at kaliti yoki to‘plam elementi sifatida foydalanish mumkingeeksforgeeks.org. · tartiblash va indekslash: elementlar tartib va indeksga kirish huquqiga ega (xuddi ro‘yxatdagi kabi, 0 bilan indekslash). t[i] elementini o‘qish o (1) dan keyin ro‘yxatdagidek amalga oshiriladi. · dublikatlar va har xil turlarga ruxsat beradi: kortejda takrorlanuvchi elementlar va ro‘yxat kabi har xil turdagi obyektlar bo‘lishi mumkin. kortejlar bilan asosiy amallar: # ta kartej yaratish t1 = (10, 20, 30) t2 = 1, 2, 3, "salom" har xil …
5 / 18
i o‘qish, uzunlikni hisoblash, iteratsiyalar ro‘yxatga o‘xshab o (1) yoki o (n) uchun amalga oshiriladi. kiritish/olib tashlash amallari mavjud emas (ular o (n)) asosiy farq - o‘zgarmaslik: kortej ma’lumotlarning o‘zgarmasligini kafolatlash kerak bo‘lgan holatlar uchun samarali. shuningdek, o‘zgarmasligi tufayli kortej lug‘at kaliti yoki to‘plam elementi sifatida ishlatilishi mumkin (ro‘yxat - yo‘q). kortej qachon ishlatiladi: · agar o‘zgarmas ma’lumotlar to‘plami kerak bo‘lsa, ular o‘zgarmasligi kerak (masalan, nuqta koordinatalari, sanalar, hafta kunlari va hokazo). · immutabellik ma’lumotlarni saqlash yoki kalit sifatida foydalanish uchun muhim bo‘lgan hollarda (masalan, (x, y) korteji bir juft parametrlar uchun hisoblash natijalarini saqlash uchun lug‘at kaliti sifatida). · funksiyadan bir nechta qiymatlarni qaytarish uchun kortejdan foydalanish qulay (bu bir nechta qiymatlarni "joylash" bilan bir xil). misol: return x, y ikkita qiymatdan iborat kortejni qaytaradi. uni quyidagicha ochish mumkin: a, b = func () . ikki tomonlama navbat (deque) - optimal navbat/stek deque (double-ended queue) - collections modulida amalga …

Ko'proq o'qimoqchimisiz?

Barcha 18 sahifani Telegram orqali bepul yuklab oling.

To'liq faylni yuklab olish

"konteynerlar (kolleksiyalar). chiziqli konteynerlar va stl kutubxonalari tushunchasi" haqida

19 amaliy mashg‘ulot. konteynerlar (kolleksiyalar). chiziqli konteynerlar va stl kutubxonalari tushunchasi konteyner (kolleksiya) dasturlashda boshqa obyektlar to‘plamini o‘zida saqlash imkonini beruvchi ma’lumotlar turi. boshqacha aytganda, konteyner ma’lum turdagi ko‘plab elementlarni o‘z ichiga oladi. konteyner ma’lum bir ma’lumotlar tuzilmasini - kompyuter xotirasida ma’lumotlarni tashkil etish usuliniru.wikipedia.org amalga oshirishini tushunish muhimdir. ma’lumotlar tuzilmasi qaysi elementlar bilan ishlash samarali va qaysilari samarasizroq bo‘lishini aniqlaydihabr.com. chiziqli ma’lumotlar tuzilmalari - bu elementlari ketma-ketlikni tashkil etuvchi tuzilmalardir (har bir element bevosita keyingi va/yoki oldingi qo‘shniga ega). bunday tuzilmalarda elementlarni aylanib o‘tish (ko‘rib ...

Bu fayl DOCX formatida 18 sahifadan iborat (44,6 KB). "konteynerlar (kolleksiyalar). chiziqli konteynerlar va stl kutubxonalari tushunchasi"ni yuklab olish uchun chap tomondagi Telegram tugmasini bosing.

Teglar: konteynerlar (kolleksiyalar). c… DOCX 18 sahifa Bepul yuklash Telegram