Temat 16: Struktury danych (II)

Wstecz; Ostatnia modyfikacja: 27.04.2015
  • Ćwiczenie 1 (dokończenie): implementacja drzew BST - wstawianie elementu, wypisywanie drzewa, wyszukiwanie elementu.
  • Ćwiczenie 2: wykorzystując implementację drzew BST zaimplementuj słownik (przechowujemy pary (key, value)). Zaimplementuj metodę __setitem__(self, k,v)
  • Zbalansowane drzewa binarne (AVL, czerwono-czarne)
  • Implementacja drzew AVL w Pythonie
  • Alternatywa dla drzew zbalansowanych: drzewa splay.
  • Oczekiwany czas wyszukiwania w losowym drzewie BST na podstawie losowej permutacji to $O(logn)$.
  • operacjaSorted listsDrzewa BSTZrównoważone drzewa BSTTablice hashujące
    put$O(n)$$O(n)$$O(logn)$$O(1)$*
    get$O(log(n))$$O(n)$$O(logn)$$O(1)$*
    in$O(log(n))$$O(n)$$O(logn)$$O(1)$*
    del$O(n)$$O(n)$$O(logn)$$O(1)$*
    * - koszt oczekiwany, dla pozostałych koszt pesymistyczny
  • Kod z ćwiczeń