Sobes.tech
Junior

Wat is een wachtrij in de context van programmeren?

sobes.tech AI

Antwoord van AI

De Queue (wachtrij) is een abstract datatype dat het FIFO-principe (First-In, First-Out) implementeert, waarbij het eerste toegevoegde element als eerste wordt verwijderd.

Belangrijkste operaties:

  • Enqueue: Voeg een element toe aan het einde van de wachtrij.
  • Dequeue: Verwijder een element van het begin van de wachtrij.
  • Peek/Front: Verkrijg de waarde van het element aan het begin van de wachtrij zonder het te verwijderen.
  • IsEmpty: Controleer of de wachtrij leeg is.
  • Size: Verkrijg het huidige aantal elementen in de wachtrij.

Voorbeelden van gebruik:

  • Taakbeheer in besturingssystemen.
  • Verwerking van verzoeken in webservers.
  • Grafdoorlaat algoritmen (BFS - Breadth-First Search).
  • Buffers voor sequentiële gegevensverwerking.

De implementatie kan gebaseerd zijn op arrays of gekoppelde lijsten.

# Voorbeeld van implementatie van een wachtrij met behulp van een lijst in Python
class Queue:
    def __init__(self):
        self.items = []

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

    def enqueue(self, item):
        self.items.append(item) # Aan het einde toevoegen

    def dequeue(self):
        if not self.is_empty():
            return self.items.pop(0) # Van het begin verwijderen
        return None

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

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