Skip to content

Ma'lumot tuzilmalari

Dasturlashni o'rganish jarayoni bu bir martalik jarayon emas, muntazam o'rganish va izlanishdan iborat bo'lgan jarayon. Kundan-kun dasturchilarga talab ortib bormoqda shu bilan birga dasturchidan talab qilinadigan bilimlarga ham talab ortgan. Endi siz biror kursni tugatib dasturchi bo‘lolmaysiz(junior ham bo‘lolmaysiz), kursni tugatib usha kursni bitiruvchisi bo'lasiz xolos :). Dasturchi har doim yangi bilimlar o'rganishi lozim bilimlari orasida bo'lishi shart bo'lgan mavzuni ushbu postda yozmoqchiman. Barcha dasturchilar bilishi shart bo'lgan mavzu Ma'lumotlar tuzilmasi(data structure).

Ma'lumotlar tuzilmasini o'rganish uchun dasturlash asoslarini o'rganish talab qilinadi. Mening asosiy qurolim Python bo'lganligi sababli Python dasturlash tilida ko'rsatib o'tishga harakat qilaman.

Iqtibos

“Yomon dasturchilar o’zlarining kodlari haqida qayg’urishadi, yaxshi dasturchilar esa ma’lumotlar tuzilmalari va ularning bog’lanishlari haqida bosh qotirishadi.” — Linus Torvalds

img.png

Ma’lumotlar tuzilmasi

Ma’lumotlar tuzilmasi - 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 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.

Asosiy ma'lumotlar tuzilmalari.

Asosiy ma'lumotlar tuzilmalarini ikki qismga ajratish mumkin.

  • Primitive - dasturlash tillari tomonidan taqdim qilinadigan ma'lumot turlari hisoblandi. Bu ma'lumot turlariga quyidagilarni misol qilish mumkin.

    • Integer
    • Float
    • Character
    • Booleans
  • Non-primitive - murakkabroq ma'lumot turlari hisoblanadi, privmative va privmative bo'lmagan ma'lumot turlarini o'z ichiga oladi. Ko'pincha dasturchilar tomonidan belgilangan ma'lumot turlari deb ham ataladi, chunki dasturchilar tomonidan qo'shilishi mumkin. Primitive bo'lmagan ma'lumot turlariga quyidagilarni misol qilish mumkin.

    • Array
    • Class
    • String

Quyida keltirilgan ma’lumotlar tuzilmalari dasturlashda eng ko’p qo’llaniladigan tuzilmalar.

  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)

Ma’lumotlar tuzilmalari ustida asosiy bajarilishi mumkin bo’lgan amallar ro'yxati.

Ma'lumotlar tuzilmalari nima uchun kerak? Nima keragi bor? degan savollar tug'ilishi mumkin. Ma'lumot tuzilmalari ustida bajariladaigan asosiy amallarni bilib olsak yuqoridagi savollarga javob berish osonroq bo'ladi.

  1. Traversing
  2. Retrieving
  3. Insertion
  4. Deletion
  5. Search
  6. Sorting
  7. Merging

Turli xildagi ma’lumotlar tuzilmalarida esa yuqoridagi amallar turlicha tezlikda amalga oshadi.

Masalan oddiyroq misol olaylik, array uchun ma’lumotni o’qib olish uchun O(1) vaqt sarflansa, uni kiritish yoki o’chirish uchun O(n) vaqt sarflanadi. Linked listda esa bular aksincha. Shuning uchun sizning dasturingizda ma’lumotlar ko’p kiritilib, o’chirilsayu lekin kam o’qilsa, bunda ma’lumotlarni saqlashda arraydan foydalangandan ko’ra Linked list qulayroq hisoblanadi.

Info

Ma’lumot tuzilmalarining maqsadi, ma'lumotlardan samarali foydalanish.

Foydalanilgan manbalar

  • https://en.wikipedia.org/wiki/Data_structure
  • https://janobmusayev.medium.com
  • https://sariq.dev
  • https://www.youtube.com/@virtualdars