Cześć, tak się złożyło, że ostatnimi czasy zainteresowały mnie algorytmy i struktury danych. Od około dwóch tygodni analizuję stos, drzewa listy itp. Zainteresowałem się żłożonościami pesymistycznymi dla niektórych algorytmów. Około połowę operacji uzupełniłem samodzielnie.
Proszę o sprawdzenie, czy to co uzupełniłem jest poprawne oraz o pomoc w uzupełnieniu brakujących wartości :D
Operacja/Algorytm | Tablica nieuporządkowana | Stos | Lista jednokierunkowa | Lista dwukierunkowa | Kopiec binarny | Kopiec dwumianowy | Kopiec Fibonacciego | Drzewo AVL | Drzewo czerwono-czarne
---------------- | --
Wstawienie klucza | O(1) | O(1) | O(1) lub O(n) | O(1) | O(log n) | O(log n) | O(1) | O(log n) | O(log n)
Usunięcie klucza | O(1) | O(1) | O(n) | O(n) | O(log n) | O(log n) | O(n) | - | -
Modyfikacja klucza | O(1) | - | O(n) | O(n) | - | - | - | - | -
Następnik klucza | - | - | O(1) | O(1) | - | - | - | - | -
Poprzednik klucza | - | - | O(n) | O(1) | - | - | - | - | -
Maksimum | O(n) | - | - | - | - | - | - | - | -
Minimum | O(n) | - | - | - | O(1) | O(log n) | O(n) | - | -