Junior
Co je fronta v kontextu programování?
sobes.tech AI
Odpověď od AI
Fronta (Queue) je abstraktní datový typ, který implementuje princip FIFO (First-In, First-Out), kde první přidaný prvek bude prvním odebraným.
Hlavní operace:
- Enqueue: Přidání prvku na konec fronty.
- Dequeue: Odebrání prvku z začátku fronty.
- Peek/Front: Získání hodnoty prvku na začátku fronty bez jeho odebrání.
- IsEmpty: Kontrola, zda je fronta prázdná.
- Size: Získání aktuálního počtu prvků ve frontě.
Příklady použití:
- Řízení úloh v operačních systémech.
- Zpracování požadavků na webových serverech.
- Algoritmy průchodu grafem (BFS - Breadth-First Search).
- Buffery pro sekvenční zpracování dat.
Implementace může být založena na polích nebo spojových seznamech.
# Příklad implementace fronty s použitím seznamu v Pythonu
class Queue:
def __init__(self):
self.items = []
def is_empty(self):
return self.items == []
def enqueue(self, item):
self.items.append(item) # Přidat na konec
def dequeue(self):
if not self.is_empty():
return self.items.pop(0) # Odebrat z začátku
return None
def peek(self):
if not self.is_empty():
return self.items[0]
return None
def size(self):
return len(self.items)