Algorytmy i struktury danych · Junior · Pytanie 21 z 75
Dlaczego kolejka oparta na push i shift może być wolna dla dużych danych?
- ✓Poprawna odpowiedź:
shiftprzesuwa wszystkie pozostałe elementy, to O(n) - 2
pushza każdym razem kopiuje całą tablicę - 3Tablice w JavaScripcie nie mieszczą ponad 10 000 elementów
Wyjaśnienie
Każdy shift przenumerowuje resztę tablicy, więc wyjęcie n elementów może kosztować łącznie O(n²). Przy intensywnym użyciu trzymaj indeks głowy i czytaj arr[head++] albo użyj listy wiązanej lub bufora cyklicznego.