Ko'p odamlar DSAni kompyuter fanlaridagi oddiy mavzu deb bilishadi. Bu erda ular noto'g'ri tushunishadi. DSA bundan ham ko'proq. Bu sizga yaxshi dasturchi bo'lish va yaxshiroq fikrlash usulini o'rgatadi. Bu sizga butun hayotingiz davomida yordam beradigan mahorat va faqat mavzuni o'tish uchun o'rganish qobiliyati emas. Keling, nima uchun DSAni o'rganish kerak bo'lgan turli sabablarga chuqurroq kiraylik –
Ma’lumotlar tuzilmalari o’zi nima va nima uchun ular muhim.
“Yomon dasturchilar o’zlarining kodlari haqida qayg’urishadi, yaxshi dasturchilar esa ma’lumotlar tuzilmalari va ularning bog’lanishlari haqida bosh qotirishadi.” — Linus Torvalds III qism. Boshlang’ich ma’lumotlar tuzilmalari. 1-dars Dasturlashda algoritmlar nima uchun muhimligi va ilk algoritmlarni o’rgangandan so’ng endi eng muhim ma’lumotlar tuzilmalarini o’rganishga o’tsak ham bo’ladi. Lekin, bundan oldin ma’lumotlar tuzilmalari o’zi nimaligi va ularni to’g’ri tanlay olish va to’g’ri ishlata olish nima uchun muhimligiga to’xtalib o’tmoqchiman. Ma’lumotlar tuzilmalari o’zi nima?
Barcha dastur yoki dasturiy mahsulotning asosida ikkita birlik yotadi: ma’lumotlar va ular ustida qandaydir amallar bajaradigan algoritmlar. Algoritmlar ma’lumotlarni biz yoki dastur uchun foydali bo’lgan axborot ko’rinishiga keltirib beradi. Algoritmlar shu ma’lumotlar ustida amallarni (o’qish, yozish, yangilash, o’chirish) samarali va tez bajara olishi uchun biz shu ma’lumotlarni ma’lum bir strukturaga solgan holda saqlashimiz kerak bo’ladi. Demak shunday qilib, Ma’lumotlar tuzilmasi — bu ma’lumotlarni samarali o’qish va o’zgartirish imkonini beruvchi, ma’lumotlarni saqlash va boshqarishning bir formatga solingan shaklidir. Soddaroq qilib aytganda, ma’lumotlar tuzilmasi — bu ma’lumotlarning ma’lum bir strukturaga solingan, ular o’rtasida ma’lum bir bog’lanishlar yaratilgan va ular ustida ma’lum amallar bajaruvchi funksiyalardan tashkil topgan guruh. Eng sodda ma’lumotlar tuzilmasiga misol qilib massiv (array)ni ko’rsatishimiz mumkin.