Sobes.tech
Junior

Cos'è una coda nel contesto della programmazione?

sobes.tech AI

Risposta dell'AI

La coda (Queue) è un tipo di dato astratto che implementa il principio FIFO (First-In, First-Out), dove il primo elemento aggiunto sarà il primo a essere rimosso.

Operazioni principali:

  • Enqueue: Aggiungere un elemento alla fine della coda.
  • Dequeue: Rimuovere un elemento dall’inizio della coda.
  • Peek/Front: Ottenere il valore dell’elemento all’inizio della coda senza rimuoverlo.
  • IsEmpty: Verificare se la coda è vuota.
  • Size: Ottenere il numero attuale di elementi nella coda.

Esempi di utilizzo:

  • Gestione delle attività nei sistemi operativi.
  • Elaborazione delle richieste nei server web.
  • Algoritmi di attraversamento di grafi (BFS - Breadth-First Search).
  • Buffer per l’elaborazione sequenziale dei dati.

L’implementazione può essere basata su array o liste collegate.

# Esempio di implementazione di una coda usando una lista in Python
class Queue:
    def __init__(self):
        self.items = []

    def is_empty(self):
        return self.items == []

    def enqueue(self, item):
        self.items.append(item) # Aggiungi alla fine

    def dequeue(self):
        if not self.is_empty():
            return self.items.pop(0) # Rimuovi dall’inizio
        return None

    def peek(self):
        if not self.is_empty():
            return self.items[0]
        return None

    def size(self):
        return len(self.items)