Sobes.tech
Junior

Was ist eine Warteschlange im Kontext der Programmierung?

sobes.tech KI

Antwort von AI

Warteschlange (Queue) ist ein abstrakter Datentyp, der das FIFO-Prinzip (First-In, First-Out) implementiert, wobei das erste hinzugefügte Element als erstes entfernt wird.

Hauptoperationen:

  • Enqueue: Ein Element ans Ende der Warteschlange anhängen.
  • Dequeue: Ein Element vom Anfang der Warteschlange entfernen.
  • Peek/Front: Den Wert des Elements am Anfang der Warteschlange erhalten, ohne es zu entfernen.
  • IsEmpty: Überprüfen, ob die Warteschlange leer ist.
  • Size: Die aktuelle Anzahl der Elemente in der Warteschlange erhalten.

Anwendungsbeispiele:

  • Aufgabenverwaltung in Betriebssystemen.
  • Verarbeitung von Anfragen in Webservern.
  • Graphdurchlauf-Algorithmen (BFS - Breadth-First Search).
  • Puffer für sequenzielle Datenverarbeitung.

Die Implementierung kann auf Arrays oder verketteten Listen basieren.

# Beispiel für eine Queue-Implementierung mit einer Liste in Python
class Queue:
    def __init__(self):
        self.items = []

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

    def enqueue(self, item):
        self.items.append(item) # Am Ende hinzufügen

    def dequeue(self):
        if not self.is_empty():
            return self.items.pop(0) # Vom Anfang entfernen
        return None

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

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