Jakie są różnice między drzewami segmentów, drzewami interwałowymi, drzewami indeksowanymi binarnie i drzewami zasięgu pod względem:
- Kluczowy pomysł / definicja
- Aplikacje
- Wydajność / zamówienie w większych wymiarach / zużycie miejsca
Proszę nie podawać tylko definicji.
Odpowiedzi:
Wszystkie te struktury danych służą do rozwiązywania różnych problemów:
Wydajność / zużycie miejsca dla jednego wymiaru:
(k to liczba zgłoszonych wyników).
Wszystkie struktury danych mogą być dynamiczne w tym sensie, że scenariusz użycia obejmuje zarówno zmiany danych, jak i zapytania:
Wyższe wymiary (d> 1):
źródło
Nie to, że mogę dodać coś do odpowiedzi Liora , ale wygląda na to, że przydałoby się to przy dobrym stole.
Jeden wymiar
k
to liczba zgłoszonych wynikówWyższe wymiary
d > 1
Tabele te są tworzone w GitHub formatowaniem cenowych - zobacz ten GIST jeśli chcesz ładnie sformatowane tabele.
źródło
O(n logn) space
w pierwszej tabeli?