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 uchunmuhimligiga to’xtalib o’tmoqchiman.
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. (Manba: Wikipidia) 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.
Quyida keltirilgan ma’lumotlar tuzilmalari dasturlashda eng ko’p qo’llaniladigan tuzilmalardir. Ularga:
1. Massiv (Array) 2. Bog’langan ro’yhat (Linked List) 3. Navbat (Queue) 4. Stek (Stack) 5. Hash jadvallar (Hash tables) 6. Daraxtlar (Trees) 7. Graflar (Graph) kiradi. Biz bu bo’limda boshidagi 5 ta tuzilma bilan yaqindan tanishib, ularning kuchli va kuchsiz tomonlari va ularni qanday holatlarda ishlatish ma’qulligi haqida gaplashib o’tamiz. Qolgan ikkita tuzilma murakkabroq bo’lib ular o’z ichida yana ko’plab turlarga bo’linib ketadi.