Ma’lumotlar tuzilishi va algoritm nima va nega kerak?…
Salom do’stlar! Sizlar bilan yana Oxunjon. Yaxshi dasturchi bo’lish uchun har bir dasturchi bilishi kerak bo’lgan ma’lumotlar tuzilishi va algoritmlari to’g’risida ma’lumot bermoqchiman.
Asosan ma’lumot tuzilishi va algoritmning maqsadi va bunda ko’p ishlatiladigan asosiy terminlar to’g’risida suhbatlashamiz ya’ni ma’lumot tuzimalari va algoritmlarning fundamenti bilan tanishamiz.
Birinchi navbatta biz nazarda tutayotgan ma’lumot, ma’lumot tuzilmalari va algoritmlar nima ekanligiga to’xtalib o’tamiz.
DIQQAT E’LON! Java dasturlash tillari bo’yisha video kurs tayyor. Video kurs haqidagi ma’lumotni quyidagi rasm ustiga bosib o’qishingiz mumkin:
Ma’lumot nima?
Ma’lumot bu oddiygina qiymat yoki qiymatlar to’plami. Masalan:
ism=”Oxunjon”
yosh=”22”
jins=”erkak”
Passport nomer=”AA123…..”
v.h.
Ma’lumotlar elementlari bitta qiymat birligiga mos keladi va u o’zgaruvchan yoki doimiy qiymatni bildiradi.
Ma’lumot tuzilmalari nima?
Ma’lumotlar tuzilmalari (strukturasi), asosan, bir nom ostida to’plangan ma’lumotlar elementlari guruhidir va u kompyuterda ma’lumotlarni saqlash va tashkil qilishning aniq usulini belgilaydi, natijada u samarali tarzda ishlatilishi mumkin.
Ma’lumotlar tizimini tanlashda quyidagi bosqichlarni bajarish kerak:
- Amalga oshirilishi kerak bo’lgan asosiy operatsiyalarni aniqlash uchun muammoni tahlil qilish.
- Har bir operatsiya uchun resors cheklovlarini sanab qo’yish.
Ushbu talablarga eng mos keladigan ma’lumotlar strukturasini ya’ni tuzilmalarini tanlash.
Dasturchi sifatida dastur uchun eng to’g’ri ma’lumot strukturasini tanlash muhim va majburiydir.
Ma’lumot strukturasi bo’yicha operatsiyalar
Ma’lumot strukturasidagi ma’lumotlar muayyan operatsiyalar bilan ishlov beriladi Tanlangan ma’lumotlar tarkibi asosan ma’lumotlar tuzilmasida bajarilishi kerak bo’lgan operatsiyalar chastotasiga bog’liq.
Traversing – Harakat.
Searching – Qidiruv
Inserting – Qo’shish
Deleting – O’chitish
Sorting – Tartiblash
Merging – Birlashtirish.
Keyingi maqolalarda bu operatsiyalarni haqida kengroq ma’lumot beraman.
Ma’lumotlar tuzilmalar tanlovi
Maxsus ma’lumot modelini tanlashda asosan ikkita jihatga e’tibor qaratiladi:
- Ma’lumotlar elementlari o’rtasidagi munosabatni ifodalash uchun yetarli darajada boy bo’lishi kerak.
- Lozim bo’lganida ma’lumotga samarali ishlov berish yetarli darajada sodda bo’lishi kerak.
Manashular ma’lumot va uning tuzilishi to’g’risidagi asosiy tushunchalardir.
Algoritm nima?
Algoritm – kerakli natijani olish uchun ma’lum tartibda bajarilishi kerak bo’lgan ko’rsatmalar to’plamini belgilovchi qadamma qadam amaliyot. Algoritmlar, odatda, asosiy tillardan mustaqil ravishda yaratiladi va bitta algoritm bir nechta dasturlash tilida amalga oshirilishi mumkin.
Ma’lumotlarni tuzilishi nuqtai nazaridan quyidagilar algoritmning muhim toifalari –
Qidiruv – ma’lumotlar strukturasida elementni izlash uchun algoritm.
Sort (tur) – elementlarni buyurtma bilan tartiblashtirish uchun algoritm.
Qo’shish – ma’lumotlar strukturasiga element qo’shish uchun algoritm.
Yangilash – ma’lumotlar tuzilmasida mavjud elementni yangilash uchun algoritm.
Yo’q qilish – ma’lumotlar tuzilmasidan mavjud elementni o’chirish algoritmi.
Algoritmning xususiyatlari
Barcha tartiblarni ham algoritm deb bo’lmaydi. Algoritm quyidagi xususiyatlarga ega bo’lishi kerak:
Aniq – algoritm aniq va to’g’ri bo’lishi kerak. Har bir bosqichi (yoki palla) va ularning kirish / chiqishi aniq bo’lishi va faqat bir ma’noga olib kelishi kerak ya’ni ikki ma’noli bo’lmasligi kerak.
Kirish – algoritmda 0 yoki undan ortiq aniqlangan kirish (input) bo’lishi kerak.
Chiqish ya’ni natija – Algoritmda 1 yoki undan ortiq yaxshi aniqlangan natijalar bo’lishi kerak va kerakli natijaga mos kelishi kerak.
Cheklanganlik- Algoritmlar cheklangan miqdordagi qadamlardan keyin tugatilishi kerak.
Bajarsa bo’ladiganlik – Mavjud resurslar bilan bajarsa bo’ladigan bo’lishi kerak.
Mustaqil – Algoritm har qanday dasturiy kodlardan mustaqil bo’lishi kerak bo’lgan qadamma-qadam ko’rsatmalarga ega bo’lishi kerak.
Algoritmni qanday yozish mumkin?
Algoritmlarni yozish uchun aniq belgilangan standartlar yo’q. Aksincha, bu muammo va resursga bog’liq. Algoritmlar ma’lum bir dasturiy kodni qo’llab-quvvatlash uchun hech qachon yozilmaydi.
Bilamizki, barcha dasturiy tillar sikllar (do, for, while), shart, tanlash operatorlar(if-else), va hokazo kabi asosiy kod konstruktsiyalarini almashadi. Ushbu umumiy tuzilmalar algoritm yozish uchun ishlatilishi mumkin.
Biz algoritmlarni bosqichma-bosqich yozamiz, lekin har doim ham shunday emas. Algoritmlarni yozish bu bir jarayonidir va muammo aniqlanish sohasi topilganidan keyin amalga oshiriladi. Boshqacha qilib aytganda, biz yechimini qidirayotgan muammoning aniqlanish sohasini bilishimiz kerak.
Ushbu maqolada ma’lumot tuzilishi va algoritm to’g’risida bermoqchi bo’lgan ma’lumotlarim shulardan iborat edi. Keyingi maqolalarda muammo uchun maxsus algoritmlar topish va mosini tanlash haqida namunalar ko’rsatmoqchiman va bu ushbu maqolaning davomi bo’ladi.
Hozircha esa bu maqolaga yakun beramiz va siz bilan vaqtincha xayrlashamiz!
Muallif: Oxunjon G’aybullayev.
saytga gap yo’q ajoyib