MOKIP 25.04.2012
Co to jest drzewo poszukiwań binarnych?
- Operacje na drzewie
- Find
- Insert
- Delete
- Maximum
- Minimum
- Successor
- Predecessor
- Sposób implementacji
- Korzystamy z gotowca, czyli std::set…
- Ale nie zawsze - o wyznaczaniu statysyk pozycyjnych (n-ty najmniejszy element w zbiorze)
- Rodzaje drzew zrółnoważonych
- AVL
- RBBST (czerwono-czarne)
- Splay
- Drzewiec (Treap)
Drzewiec = drzewo poszukiwań binarnych + kopiec
- Sposób implementacji - wprowadzamy losowy priorytet
- Jak utrzymać własność kopca - funkcje left-rotate i right-rotate
- Wytłumaczenie + kod
- Zadanie Rotacje na drzewie z II etapu XVIII OI. Można użyć drzewa zrównoważonego. Wskazówka - idziemy od liści i zawsze wstawiamy elementy z mniejszego drzewa do większego, aktualizując przy tym wynik.
Garstka ciekawostek
- Kiedy nie obchodzi nas kolejność - tr1/unordered_set
- Problem znajdowania czwórki elementów o zadanej sumie w oczekiwanym czasie $O(n^2)$ (z użyciem unordered_set)
- Dlaczego nie należy haszować modulo long long - dowód.
wersja strony: 6, ostatnia edycja: 25 Apr 2012 16:20





