Junior
Ce este o coadă în contextul programării?
sobes.tech AI
Răspuns de la AI
Coada (Queue) este un tip de dată abstract care implementează principiul FIFO (First-In, First-Out), unde primul element adăugat va fi primul eliminat.
Operații principale:
- Enqueue: Adăugarea unui element la sfârșitul cozii.
- Dequeue: Eliminarea unui element de la începutul cozii.
- Peek/Front: Obținerea valorii elementului de la începutul cozii fără a-l elimina.
- IsEmpty: Verificarea dacă coada este goală.
- Size: Obținerea numărului curent de elemente din coadă.
Exemple de utilizare:
- Gestionarea sarcinilor în sistemele de operare.
- Procesarea cererilor în servere web.
- Algoritmi de parcurgere a grafurilor (BFS - Breadth-First Search).
- Buffer pentru procesarea secvențială a datelor.
Implementarea poate fi bazată pe matrice sau liste înlănțuite.
# Exemplu de implementare a unei cozi folosind o listă în Python
class Queue:
def __init__(self):
self.items = []
def is_empty(self):
return self.items == []
def enqueue(self, item):
self.items.append(item) # Adaugă la sfârșit
def dequeue(self):
if not self.is_empty():
return self.items.pop(0) # Elimină de la început
return None
def peek(self):
if not self.is_empty():
return self.items[0]
return None
def size(self):
return len(self.items)