10 / 69

Types of Queue

Navbat turlari

Navbat (Queue) — dasturlashda eng ko'p ishlatiladigan foydali ma'lumotlar tuzilmasidir. U xuddi kinoteatr kassasi oldidagi chipta olish navbatiga o'xshaydi: navbatga birinchi bo'lib kirgan odam birinchi bo'lib chipta oladi.

Navbatning to'rtta asosiy turi mavjud:

  1. Oddiy navbat (Simple Queue)
  2. Doiraviy navbat (Circular Queue)
  3. Prioritetli navbat (Priority Queue)
  4. Ikki tomonlama navbat (Double Ended Queue yoki Deque)

Oddiy navbat

Oddiy navbatda yangi element kiritish oxiridan (rear), elementni o'chirish esa boshidan (front) amalga oshiriladi. U qat'iy ravishda FIFO (First In First Out) qoidasiga amal qiladi.

Oddiy navbat (Simple Queue)

Batafsil ma'lumot olish uchun: Queue Data Structure darsiga qarang.


Doiraviy navbat

Doiraviy navbatda oxirgi element birinchi elementga ulanib, aylanma doira shaklidagi bog'lanish hosil qiladi.

Doiraviy navbat (Circular Queue)

Doiraviy navbatning oddiy navbatga nisbatan asosiy afzalligi — xotiradan samaraliroq foydalanishdir. Agar oxirgi pozitsiya to'lgan bo'lsa-yu, oldingi pozitsiyalar bo'shatilgan bo'lsa, yangi elementni birinchi pozitsiyalarga kiritish mumkin. Oddiy navbatda esa butun navbat tozalanguncha bo'sh joylardan qayta foydalanib bo'lmas edi.

Batafsil ma'lumot olish uchun: Circular Queue Data Structure darsiga qarang.


Prioritetli navbat

Prioritetli navbat — bu har bir element o'zining ustuvorligi (priority value) bilan bog'langan va o'zining prioritetiga muvofiq xizmat ko'rsatiladigan maxsus navbat turidir. Agar bir xil prioritetga ega elementlar kelsa, ularga navbatga kelish tartibi bo'yicha xizmat ko'rsatiladi.

Prioritetli navbat (Priority Queue)

Elementlarni kiritish ularning kelish tartibiga qarab, chiqarish esa ularning prioritetiga qarab amalga oshiriladi.

Batafsil ma'lumot olish uchun: Priority Queue Data Structure darsiga qarang.


Ikki tomonlama navbat

Ikki tomonlama navbatda (Double Ended Queue) elementlarni kiritish va o'chirish amallarini ham boshidan (front), ham oxiridan (rear) bajarish mumkin. Shu sababli, u qat'iy FIFO qoidasiga amal qilmaydi.

Ikki tomonlama navbat (Deque)

Batafsil ma'lumot olish uchun: Deque Data Structure darsiga qarang.