Junior
Proqramlaşdırma kontekstində növbə nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Növbə (Queue) FIFO (First-In, First-Out) prinsipini həyata keçirən abstrakt məlumat növüdür, burada əlavə olunan ilk element ilk çıxarılır.
Əsas əməliyyatlar:
- Enqueue: Elementi növbənin sonuna əlavə etmək.
- Dequeue: Elementi növbənin başlanğıcından çıxarmaq.
- Peek/Front: Növbənin başlanğıcındakı elementin dəyərini onun çıxarılmamasını təmin edərək əldə etmək.
- IsEmpty: Növbənin boş olub-olmadığını yoxlamaq.
- Size: Növbədəki cari elementlərin sayını əldə etmək.
İstifadə nümunələri:
- Əməliyyat sistemlərində tapşırıqları idarə etmək.
- Veb serverlərdə sorğuları işləmək.
- Qraf keçid alqoritmləri (BFS - Breadth-First Search).
- Məlumatların ardıcıl işlənməsi üçün tamponlar.
Tətbiq arraylər və ya əlaqəli siyahılar əsasında ola bilər.
# Python-da siyahı istifadə edərək növbə nümunəsi
class Queue:
def __init__(self):
self.items = []
def is_empty(self):
return self.items == []
def enqueue(self, item):
self.items.append(item) # Sonuna əlavə et
def dequeue(self):
if not self.is_empty():
return self.items.pop(0) # Başından çıxar
return None
def peek(self):
if not self.is_empty():
return self.items[0]
return None
def size(self):
return len(self.items)