Sobes.tech
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)