Google Play badge

massiv va bog'langan ro'yxatlar


Massivlar va bog'langan ro'yxatlar

Massivlar va bog'langan ro'yxatlar haqidagi darsimizga xush kelibsiz. Ushbu darsda biz ma'lumotlarni saqlash va tartibga solishning ikkita oddiy usulini o'rganamiz. Tasavvur qiling-a, sizda maktabda bir qator o'yinchoq qutilari yoki qator shkaflar bor. Massivlar va bog'langan ro'yxatlar xuddi shunday ishlaydi. Ular bizga narsalarni toza va oson topishga yordam beradi. Ushbu dars ushbu g'oyalarni osongina tushunishingizga yordam berish uchun kundalik misollar bilan oddiy tilda yozilgan.

Kirish

Ma'lumotlar tuzilmalari kompyuterlarga ma'lumotlarni saqlash va tartibga solishga yordam beradi. Ikki muhim ma'lumotlar tuzilmasi massivlar va bog'langan ro'yxatlardir. Siz massivni qutilar qatori, bog'langan ro'yxatni esa xazina qidirishda bog'langan maslahatlar zanjiri sifatida tasavvur qilishingiz mumkin. Bularning ikkalasi bizga o'yinchoqlar, kitoblar yoki hatto sevimli gazaklar kabi ko'plab narsalarni kuzatib borishimizga yordam beradi.

Biz massiv nima, bog'langan ro'yxat nima, ular qanday ishlashi va qanday farq qilishi haqida gaplashamiz. Shuningdek, biz ushbu g'oyalarni iloji boricha aniqroq qiladigan haqiqiy misollarni ko'ramiz.

Massiv nima?

Massiv shunchaki elementlar to'plamidir. Bu har bir qutida bitta narsa bo'lgan qator qutilarga o'xshaydi. Misol uchun, bir qatorda joylashgan beshta quti to'plamini tasavvur qiling. Sevimli o'yinchoq yoki gazakni saqlash uchun har bir qutidan foydalanishingiz mumkin.

Massivdagi har bir quti indeks deb ataladigan raqamga ega. Birinchi quti odatda 0, keyingisi 1, keyin 2 va hokazo. Ushbu raqamlash ma'lum bir elementni tezda topishga yordam beradi. Misol uchun, agar siz uchinchi qutidagi elementni xohlasangiz, shunchaki 2 indeksli qutiga qarang.

Massivdagi elementni qanday topishimiz mumkinligini tushuntirish uchun bu oddiy formuladir. Agar birinchi quti boshlang'ich nuqtada bo'lsa, har qanday elementning manzili quyidagicha ko'rinishi mumkin:

\( \textrm{Manzil}(A(i)) = \textrm{Manzil}(A(0)) + i \times \textrm{(bitta elementning o'lchami)} \)

Bu bizga birinchi qutidan biz xohlagan qutiga o'tish uchun ma'lum miqdordagi bo'sh joyni hisoblash kerakligini aytadi.

Massivlarning xossalari

Kichkina kinoteatrdagi o'rindiqlar kabi massivni tasavvur qiling. Har bir o'rindiqning raqami bor va agar siz uning raqamini bilsangiz, tezda o'z joyingizga borishingiz mumkin.

Massivning kundalik namunasi

Tasavvur qiling-a, maktabingizda bir qator shkaflar bor, ularning har biri o'ziga xos raqamga ega. Siz sumkangizni shkafga qo'yish uchun borganingizda, siz shkafdagi maxsus raqamdan foydalanasiz. Massivda har bir shkaf qutiga o'xshaydi va raqam sizga sumkangiz yoki ma'lumotlaringiz saqlanadigan joyni ko'rsatadi.

Bog'langan ro'yxat nima?

Bog'langan ro'yxat - elementlarni saqlashning yana bir usuli. U massivdan farq qiladi, chunki u uzoq qator qattiq qutilardan foydalanmaydi. Buning o'rniga u tugunlar deb ataladigan maxsus qutilardan foydalanadi. Har bir tugun elementga ega va keyingi tugunning qayerda ekanligini ko'rsatadigan ko'rsatgichga ega.

Tasavvur qiling-a, siz xazina ovidasiz. Siz topgan har bir maslahat sizga keyingi maslahat qayerda yashiringanligini aytadi. Bog'langan ro'yxatda har bir tugun ushbu maslahatlardan biriga o'xshaydi. Birinchi maslahatdan boshlaganingizda, kerakli narsani topguningizcha, ko'rsatgichni bir tugundan ikkinchisiga kuzatib borasiz.

Har bir tugunni kichik konvert deb o'ylashingiz mumkin. Konvertda karta (ma'lumotlar) va eslatma (ko'rsatgich) mavjud. Bu eslatma qatorda qaysi konvert kelishini bildiradi.

Bog'langan ro'yxat qanday ishlaydi

Keling, tugun nima ekanligini yozishning oddiy usulini ko'rib chiqaylik:

Tugun = {ma'lumotlar, ko'rsatgich)

Tugundagi "ma'lumotlar" saqlanadigan ma'lumotdir va "ko'rsatkich" sizni keyingi tugunga yo'naltiradigan o'qga o'xshaydi. Massivdan farqli o'laroq, bog'langan ro'yxat barcha tugunlarning xotirada bir-birining yonida bo'lishini talab qilmaydi; ko'rsatgichlar ularni bog'lagan ekan, ular istalgan joyda bo'lishi mumkin.

Bog'langan ro'yxatlar turlari

Bog'langan ro'yxatlarning turli uslublari mavjud. Bu erda uchta keng tarqalgan tur mavjud:

Bog'langan ro'yxatning haqiqiy dunyo misoli

Xazina xaritasiga ergashayotganingizni tasavvur qiling. Xaritadagi har bir qadam keyingi qadam qayerda ekanligini ko'rsatadi. Agar siz qo'shimcha maslahat qo'shsangiz yoki bittasini olib tashlasangiz ham, har bir kartadagi maslahatni o'qib chiqishingiz mumkin. Bog'langan ro'yxat shunday ishlaydi. Har bir tugun (yoki maslahat) keyingisiga ulanadi, bu sizga bir vaqtning o'zida ro'yxat bo'ylab harakatlanish imkonini beradi.

Massivlar va bog'langan ro'yxatlar o'rtasidagi taqqoslash

Massivlar va bog'langan ro'yxatlar bizga narsalarni saqlashga yordam beradi, lekin ular buni turli yo'llar bilan amalga oshiradilar. Mana bir nechta taqqoslashlar:

Afzalliklari va kamchiliklari

Har bir ma'lumotlar strukturasi o'zining yaxshi qismlari va qiyinchiliklariga ega. Bularni tushunish sizga eng yaxshisini tanlashga yordam beradi.

Massivlar:

Afzalliklari:

Kamchiliklari:

Bog'langan ro'yxatlar:

Afzalliklari:

Kamchiliklari:

Massivlar bilan ishlash

Keling, massivni oddiy usulda qanday ishlatishni ko'rib chiqaylik. Faraz qiling, siz beshta sevimli rangingizni saqlamoqchisiz. Siz beshta qutidan iborat massiv yaratasiz. Keyin har bir rangni tartibda qutiga joylashtirasiz. Masalan:

Endi, agar siz 2-qutidagi qaysi rangni bilmoqchi bo'lsangiz, shunchaki o'sha qutiga qarang va siz "Yashil" ni ko'rasiz. Ushbu oson kirish massivdan foydalanishning eng yaxshi qismlaridan biridir.

Bog'langan ro'yxatlar bilan ishlash

Keling, bog'langan ro'yxatni ko'rib chiqaylik. Buni xazina ovi deb o'ylab ko'ring, bu erda siz maslahat bilan boshlaysiz va keyin keyingisini topish uchun ko'rsatmalarga amal qiling. Bog'langan ro'yxatda biz ba'zi ma'lumotlarni o'z ichiga olgan tugun bilan boshlaymiz. Bu tugunda qaysi tugunning keyingi kelishini ko'rsatadigan ko'rsatgich mavjud.

Misol uchun, bog'langan ro'yxatda qiziqarli voqeani aytib beradigan uchta tuguningiz borligini tasavvur qiling:

Siz 1-tugundan boshlaysiz va 2-tugunga, soʻngra 3-tugunga koʻrsatgich (ishora) boʻyicha amal qilasiz. Ularning birortasi orasiga yangi maslahat qoʻshmoqchi boʻlsangiz ham, bir nechta koʻrsatkichlarni oʻzgartirishingiz kifoya. Bu bog'langan ro'yxatlarni juda moslashuvchan qiladi.

Massivlar va bog'langan ro'yxatlarni vizualizatsiya qilish

Ushbu ma'lumotlar tuzilmalarini ongingizda tasavvur qilish foydalidir. Massivni javondagi aniq, etiketli qutilarning uzun qatori sifatida tasavvur qiling. Har bir quti biror narsani ushlab turadi va belgilangan joyga ega. Endi bog'langan ro'yxatni kartalar qatori sifatida tasvirlang. Har bir kartada keyingi karta yashiringan joyni ko'rsatadigan eslatma mavjud. Massivda siz to'g'ridan-to'g'ri ma'lum bir qutiga raqami bo'yicha o'tishingiz mumkin. Bog'langan ro'yxatda siz kartalarni tartibda kuzatib borishingiz kerak.

Kundalik ilovalar

Massivlar ko'p kundalik narsalarda qo'llaniladi. Masalan, taqvimni tasavvur qiling. Kalendarda har haftada belgilangan kunlar soni bor va bu kunlar ketma-ket joylashtirilgan. Taqvimga qarasangiz, qaysi kun qaysi joyda ekanligini aniq bilib olasiz.

Bog'langan ro'yxatlar vaqt o'tishi bilan elementlar soni o'zgarishi mumkin bo'lgan hollarda ishlatiladi. Muzqaymoq yuk mashinasida kutib turgan odamlar qatorini tasavvur qiling. Ba'zan safga yangi odamlar qo'shiladi, ba'zan esa kimdir ketadi. Chiziq yangi qattiq tuzilmani yaratmasdan o'sishi yoki qisqarishi mumkin. Bu narsalar tez-tez o'zgarib turadigan stsenariylarda bog'langan ro'yxatlarni juda foydali qiladi.

Ma'lumotlarni saqlashni moslashtirish

Massivlar va bog'langan ro'yxatlar o'rtasida tanlov qilish ma'lumotlaringiz bilan nima qilish kerakligiga bog'liq. Agar sizda har doim ma'lum miqdordagi elementlar bo'lishini bilsangiz, masalan, haftadagi kunlar - massiv juda mos keladi. Biroq, agar ma'lumotlar miqdori o'zgarsa va sizga osongina moslasha oladigan tuzilma kerak bo'lsa, bog'langan ro'yxat yaxshiroq tanlov bo'ladi.

Masalan, kompyuter o'yinida har bir daraja uchun ballarni saqlash uchun massivdan foydalanish mumkin, chunki darajalar soni belgilangan. Boshqa tomondan, bog'langan ro'yxat o'yin davom etar ekan, o'yinchi harakatlari yoki harakatlari ro'yxatini boshqarish uchun ishlatilishi mumkin.

Qaysi birini ishlatishni qanday hal qilish kerak

Elementlarga ularning joylashuvi bo'yicha tezkor kirish kerak bo'lganda, massivlar eng yaxshi tanlovdir. Buning sababi, agar siz uning raqamini bilsangiz, to'g'ridan-to'g'ri istalgan joyga o'tishingiz mumkin. Biroq, tez-tez elementlarni qo'shish yoki olib tashlash kerak bo'lganda, bog'langan ro'yxatlar foydaliroq bo'ladi, chunki ular sizga ko'p narsalarni ko'chirmasdan ro'yxatni o'zgartirishga imkon beradi.

Bu haqda o'ylab ko'ring: agar sizda sahifalar soni belgilangan stiker albomingiz bo'lsa, massiv o'sha albomga o'xshaydi. Ammo agar sizda e'lonlar taxtasiga qo'shadigan otkritkalar to'plami ko'payib borayotgan bo'lsa, bog'langan ro'yxat ko'proq shunday bo'ladi, chunki siz butun doskani o'zgartirmasdan osongina boshqalar orasiga yangi otkritka qo'shishingiz mumkin.

Asosiy fikrlar va xulosa

Keling, darsimizning asosiy fikrlarini ko'rib chiqaylik:

Massivlar:

Bog'langan ro'yxatlar:

Farqlar va foydalanish:

Xulosa qilib aytganda, massivlar va bog'langan ro'yxatlar ma'lumotlarni tartibga solish uchun ishlatiladigan ikkita muhim ma'lumotlar strukturasidir. Massivlar qat'iy, raqamlangan qutilar qatori kabi ishlaydi, bog'langan ro'yxatlar esa xazina oviga o'xshab ishlaydi, bunda har bir qadam keyingi qayerga borishni bildiradi. Ikkala usul ham o'ziga xos kuchli tomonlarga ega va vazifa ehtiyojlaridan kelib chiqqan holda turli vaziyatlarda qo'llaniladi.

Ma'lumotlarni saqlashning ushbu ikki usulini tushunish juda foydali. Ko'pgina kompyuter dasturlari, o'yinlar va ilovalar fonda massivlar va bog'langan ro'yxatlardan foydalanadi. Ularning qanday ishlashini o'rganish orqali siz kompyuterlar ma'lumotlarni qanday tashkil qilish va boshqarish haqida tushunchaga ega bo'lasiz.

Esda tuting: struktura o'rnatilganda massivlar oddiy va tez bo'ladi, bog'langan ro'yxatlar esa ma'lumotlar o'zgarganda moslashuvchanlikni ta'minlaydi. Shkaflar qatorini yoki xazina izlarini tasavvur qilasizmi, bu tushunchalar har kuni ma'lumotlar qanday saqlanishi va ishlatilishini tushunishga yordam beradi.

Ushbu dars sizga massivlar va bog'langan ro'yxatlar nima ekanligi haqida aniq tushuncha berdi. Kompyuter fanini o'rganish va o'rganishda davom etsangiz, ushbu asosiy g'oyalar sizga murakkabroq mavzularni tushunishga yordam beradi. Ular yanada rivojlangan ma'lumotlar tuzilmalari va algoritmlarining qurilish bloklaridir.

Asosiy fikrlarning qisqacha mazmuni:

Massivlar va bog'langan ro'yxatlar bo'yicha ushbu darsni o'qiganingiz uchun tashakkur. Umid qilamizki, ma'lumotlarni aniq va sodda tarzda saqlashning ushbu usullarini o'rganish sizga yoqdi. O'sib borayotgan va ko'proq o'rganganingizda, ushbu asosiy tuzilmalarni va ular kompyuterlarning samarali ishlashiga qanday yordam berishini eslang.

Download Primer to continue