Introduction to Data Structures
Ma'lumotlar tuzilmalariga kirish
Tasavvur qiling: sizda 10 ta o'yinchoq bor. Ularni bir chelakka tashlab qo'yishingiz ham mumkin, kitob javoniga tartib bilan terib qo'yishingiz ham mumkin, yoki har biriga alohida qutida joy ajratib, ustiga yorliq yopishtirishingiz ham mumkin. Har bir usulning o'z afzalligi bor: chelak tez, lekin kerakli o'yinchoqni topish qiyin; tartibli javon esa qidirishni osonlashtiradi, lekin joylashtirish uchun ko'proq vaqt ketadi.
Dasturlashda ham xuddi shunday: ma'lumotni xotirada qanday saqlash — uni keyinchalik qanchalik tez topish, qo'shish yoki o'chirish mumkinligini belgilaydi. "Ma'lumotlar tuzilmasi" (data structure) — bu ma'lumotni saqlashning aniq bir usuli, o'zining afzallik va kamchiliklari bilan.
Bu kursda siz Go'da eng muhim tuzilmalarni noldan, o'zingiz yozasiz — tayyor kutubxona funksiyasini chaqirish orqali emas, balki ularning ichida aslida nima sodir bo'lishini tushunib. Bu — mashinani faqat haydashni emas, uning motori qanday ishlashini bilishga o'xshaydi: kunlik ishda unchalik shart emasdek tuyulishi mumkin, lekin nimadir noto'g'ri ketganda (dastur sekinlashganda yoki xotirani ko'p yeganda) aynan shu bilim sizni qutqaradi.
Bu kursda nimalarni ko'ramiz
- •Stack — bir uyum likopcha kabi: oxirgi qo'yilgan birinchi olinadi.
- •Queue — do'kondagi navbat kabi: birinchi kelgan birinchi xizmat oladi.
- •Linked List — xazina qidirish o'yinidagi maslahatlar zanjiri kabi: har biri keyingisiga yo'l ko'rsatadi.
- •Tree — oila daraxti kabi: har bir odamning bolalari bor, va bolalarning ham o'z bolalari bor.
- •Hash Table — kutubxonadagi kataloglar kabi: har bir kitobga, uning nomiga qarab, aniq bir joy ajratilgan.
- •Heap — shifoxona navbati kabi: navbatda turgan vaqt emas, holat og'irligi muhim — eng og'ir bemor birinchi ko'riladi.
- •Graph — do'stlar tarmog'i yoki shahar xaritasi kabi: har bir nuqta boshqa bir nechta nuqta bilan bog'langan.
Har bir tuzilma ma'lum bir muammoni boshqalardan yaxshiroq hal qiladi. Kursning maqsadi — sizga "qachon qaysi birini tanlash kerak" degan savolga o'zingiz ishonchli javob bera olishingizni o'rgatish, shunchaki nomlarini yodlab qolish emas.
Key Takeaway
Key Takeaway:
Ma'lumotlar tuzilmasi — ma'lumotni xotirada saqlashning aniq usuli; har birining o'z kuchli va kuchsiz tomoni bor, va vazifaga qarab to'g'ri tuzilmani tanlash dasturingiz tezligi va soddaligiga bevosita ta'sir qiladi.
NEXT UP
Stack Implementation