CURRENT APPROACHES AND NEW RESEARCH IN
MODERN SCIENCES
International scientific-online conference
98
BERILGANLARNING CHIZIQLI STRUKTURASI:
ROYXAT, STEK, NAVBAT, DEK
Abdullayev Shaxboz Solijon o‘g‘li
Fargʻona davlat universiteti Axborot texnologiyalari
kafedrasi katta o‘qituvchisi
shaxbozfardu2023@gmail.com
Murotaliyeva Xojiraxon Nuriddin qizi
Fargʻona davlat universiteti Axborot tizimlari
va texnologiyalar yo‘nalishi
1-kurs talabasi
https://doi.org/10.5281/zenodo.15397285
Annotatsiya
Berilganlarning chiziqli tuzilmalari (Ro‘yxat , Stek, Navbat, Dek) kompyuter
fanlarida keng qo‘llaniladigan, ma’lumotlarni samarali tarzda saqlash va
boshqarish uchun zarur bo‘lgan ma’lumotlar tuzilmalaridan hisoblanadi. Bu
strukturalar ma’lumotlar oqimini boshqarish va algoritmlar samaradorligini
oshirishda muhim rol o‘ynaydi. Ushbu maqolada ma’lumotlar tuzilmasining har
bir turi haqida batafsil yoritilib, ularning xususiyatlari, qo‘llanilish sohalari,
afzalliklari va kamchiliklari, shuningdek, real dunyodagi amaliyotda qanday
qo‘llanilishi tushuntiriladi. Bu maqola dasturchilar va ilmiy-tadqiqotchilar uchun
foydali bo‘lishi mumkin, chunki ular dasturlarni yozish va algoritmlar yaratishda
chiziqli tuzilmalarni qanday tanlashni o‘rganadilar.
Аннотация
Структуры данных с линейной организацией (список, стек, очередь,
дека) широко используются в компьютерных науках для эффективного
хранения и управления данными. Эти структуры играют важную роль в
управлении потоками данных и повышении эффективности алгоритмов. В
данной статье подробно рассматриваются каждый тип структур данных,
их особенности, области применения, преимущества и недостатки, а также
объясняется, как они используются на практике в реальном мире. Эта
статья может быть полезной для программистов и исследователей,
поскольку они изучат, как правильно выбирать линейные структуры
данных при написании программ и создании алгоритмов.
Annotation
Linear Data Structures (List, Stack, Queue, Deque)
are widely used in
computer science for efficient storage and management of data. These structures
play a crucial role in controlling data flow and improving algorithm
performance. This article provides a detailed overview of each type of data
structure, discussing their characteristics, areas of application, advantages and
CURRENT APPROACHES AND NEW RESEARCH IN
MODERN SCIENCES
International scientific-online conference
99
disadvantages, and how they are practically used in real-world scenarios. This
article may be useful for programmers and researchers as it helps them
understand how to select the appropriate linear data structure when writing
programs and designing algorithms.
Kalit so‘zlar:
chiziqli ma’lumotlar strukturalari, Ro‘yxat , stek, navbat, dek,
dasturlash, ma’lumotlar tuzilmasi, algoritmlar.
Ключевые слова:
линейные структуры данных, список, стек, очередь,
дек, программирование, структура данных, алгоритмы.
Keywords:
linear data structures, list, stack, queue, deque, programming,
data structure, algorithms.
Chiziqli ma’lumotlar tuzilmalari dasturlash va kompyuter fanlarining asosiy
tushunchalaridan biridir. Ular ma’lumotlarni samarali tarzda saqlash, qayta
ishlash va boshqarish uchun ishlatiladi. Dasturlashda ma’lumotlar turli xil
shakllarda saqlanadi va boshqariladi. Ma’lumotlar tuzilmasi tanlashda, bu
strukturalar ma’lumotlarga qanday kirish va ularga qanday ishlov berilishi
kerakligini belgilaydi. Chiziqli tuzilmalar bir nechta muhim strukturalarni o‘z
ichiga oladi: Ro‘yxat lar, steklar, navbatlar va deqlar. Har birining o‘ziga xos
afzalliklari va kamchiliklari bor. Ularni to‘g‘ri tanlash, dasturlar samaradorligini
oshirishga yordam beradi. Ushbu maqolada biz bu ma’lumotlar tuzilmalarining
har birini ko‘rib chiqamiz, ularning xususiyatlarini tahlil qilamiz va dasturlashda
qanday ishlatilishini ko‘rsatamiz.
Ro‘yxat (List)
Ro‘yxat — bu ma'lumotlar tuzilmasi bo‘lib, u o‘zida ma'lumotlarning ketma-
ket joylashishini ta’minlaydi. Ro‘yxat lar ko‘pincha o‘zgaruvchan uzunlikka ega
bo‘ladi, ya'ni yangi elementlarni qo‘shish yoki eski elementlarni olib tashlashda
osonlik bilan o‘zgartirilishi mumkin. Bu tuzilma Python, C++, Java va boshqa
dasturlash tillarida keng qo‘llaniladi.
Afzalliklari:
Dinamik uzunlik:
Ro‘yxat lar o‘zining o‘lchamini dinamik ravishda
o‘zgartirishi mumkin, bu esa foydalanuvchiga osonlik bilan yangi elementlar
qo‘shish yoki mavjudlarini olib tashlash imkoniyatini beradi.
Indekslar bilan ishlash:
Ro‘yxat lar elementlarini indekslar yordamida tezda
olish mumkin, bu esa ularni tezda qidirish imkonini beradi.
Maqsadga muvofiqlik: Ular katta hajmdagi ma'lumotlar bilan ishlashda
samarali bo‘lishi mumkin, masalan, statistik tahlil qilishda.
Kamchiliklari:
CURRENT APPROACHES AND NEW RESEARCH IN
MODERN SCIENCES
International scientific-online conference
100
Xotira sarfi:
Ro‘yxat lar har bir element uchun qo‘shimcha xotira talab
qiladi. Bu, ayniqsa, katta hajmdagi ma'lumotlar bilan ishlaganda noqulayliklar
keltirib chiqarishi mumkin.
Tartibga solish:
Agar Ro‘yxat ni saralash kerak bo‘lsa, bu jarayonning
samaradorligi past bo‘lishi mumkin.
2. Stek (Stack)
Stek — bu ma'lumotlar tuzilmasi bo‘lib, unda ma'lumotlar LIFO (Last In,
First Out) prinsipiga asosan joylashadi. Bu tuzilma, asosan, teskari tartibda
ishlashni talab qiladigan vazifalar uchun mo‘ljallangan. Misol uchun, rekursiya
qo‘llanmasi yoki so‘rovlarni qayta ishlashda stekdan foydalaniladi.
Afzalliklari:
Tezkor operatsiyalar:
Stekda ma'lumotlarni qo‘shish (push) va olib tashlash
(pop) amallari juda tez amalga oshiriladi.
Soddalik:
Stekda faqatgina oxirgi kiritilgan elementga kirish mumkin, bu
sodda va samarali tizim yaratishga yordam beradi.
Kamchiliklari:
Cheklangan kirish: Faqat oxirgi elementga kirish mumkin, bu esa
ma'lumotlar bilan ishlashda ba'zan cheklovlar yaratishi mumkin.
Limited Access: Boshqa elementlarga kirishning imkonsizligi ba'zi vazifalar
uchun noqulay bo‘lishi mumkin.
3. Navbat (Queue)
Navbat — bu FIFO (First In, First Out) prinsipiga asosan ishlaydigan
ma'lumotlar tuzilmasidir. Navbatlar keng qo‘llaniladi, masalan, serverlarga
so‘rov yuborish, ma'lumotlar oqimini boshqarish yoki printer navbatlarida.
Afzalliklari:
Tartibli kirish:
Birinchi kiritilgan ma'lumot birinchi chiqadi, bu esa navbatga
tushgan har bir elementning o‘z vaqtida qayta ishlanishini ta'minlaydi.
Samarali resurslarni boshqarish:
Dasturda resurslarni boshqarishda
samarali ishlaydi, masalan, serverlar yoki muammolarni navbat bilan hal
qilishda.
Kamchiliklari:
Faoliyatga cheklovlar:
Navbatdan faqat navbatning boshidan kirish
mumkin, bu esa ba'zi amallarning samaradorligini kamaytirishi mumkin.
Xotira ehtiyoji:
Odatda qo‘llanadigan variantlari navbatni tashkil etishda
xotira sarfini oshiradi.
4. Dek (Deque)
CURRENT APPROACHES AND NEW RESEARCH IN
MODERN SCIENCES
International scientific-online conference
101
Dek — bu ikkala tomonidan ham elementlarni qo‘shish va olib tashlash
imkonini beradigan navbatdir. Deklar FIFO va LIFO prinsiplari bilan ishlaydi, bu
esa uni ko‘proq moslashtirilgan va samarali ma'lumotlar tuzilmasiga aylantiradi.
Ular asosan tezkor o‘zgaruvchan ma'lumotlarni boshqarishda qo‘llaniladi.
Afzalliklari:
Ikkala tomondan ham kirish va chiqish:
Deklar ma'lumotlarga ikkala
tomondan ham kirish imkonini beradi, bu esa ularni yana bir qadam oldinga olib
chiqadi.
Samarali ishlash:
Deklar o‘zgaruvchan ma'lumotlar oqimlarini boshqarishda
yanada yuqori samaradorlikka ega.
Kamchiliklari:
Kengaytirilgan implementatsiya:
Deklarni implementatsiya qilish odatda
murakkab bo‘ladi, chunki u ikkala tomondan operatsiyalarni qo‘llab-quvvatlaydi.
Xotira sarfi:
Ba'zan deklar uchun qo‘shimcha xotira talab etiladi, chunki
uning ishlashi ko‘proq resurslarni talab qiladi.
Xulosa
Chiziqli ma'lumotlar tuzilmalari dasturlashda ma'lumotlarni samarali
saqlash va boshqarish uchun juda muhimdir. Ro‘yxat lar, steklar, navbatlar va
deqlar turli xil ma'lumotlar va operatsiyalarni boshqarishda kerakli
yondashuvlarni taqdim etadi. Ro‘yxat lar ma'lumotlarni tezda qo‘shish va
o‘zgartirish imkonini beradi, steklar va navbatlar esa ma'lumotlarni tartib bilan
boshqaradi. Deklar esa ikkala tamoyilni qo‘llab-quvvatlaydi, bu esa uni
murakkab tizimlarda qo‘llanilishga imkon beradi. Dasturlashda bu tuzilmalar
har biri o‘zining afzalliklariga ega bo‘lib, ular to‘g‘ri qo‘llanilsa, algoritmlarning
samaradorligini oshirishga yordam beradi.
Foydalanilgan adabiyotlar:
1. Tanenbaum, A. S. (2009). Data Structures. Pearson Education.
2. Lafore, R. (2002). Data Structures and Algorithms in Java. Pearson Education.
3. Knuth, D. E. (1997). The Art of Computer Programming, Volume 1:
Fundamental Algorithms. Addison-Wesley.
4. Weiss, M. A. (2013). Data Structures and Algorithm Analysis in C++. Pearson.
5. Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2009). Introduction to
Algorithms (3rd edition). The MIT Press.
6. Sedgewick, R., & Wayne, K. (2011). Algorithms (4th edition). Addison-Wesley.
7. Goodrich, M. T., & Tamassia, R. (2011). Data Structures and Algorithms in C++.
Wiley.
