Zadanie domowe #3
Do oceny można zgłosić maksymalnie trzy wybrane zadania domowe.
Materiały pomocnicze do zadania znajdują się w repozytorium na GitHub.
Nazwa repozytorium z rozwiązaniem: AISDI-HW 3: Nazwisko
Treść zadania
Rozpatrujemy standardowe binarne drzewo poszukiwań, drzewo typu splay i drzewo AVL. Proszę naszkicować kolejne stany poszczególnych drzew po każdej z wykonywanych operacji:
wstaw kolejno wartości
51, 22, 43, 84, 35, 86, 57, 98
,następnie znajdź wartość
57
,następnie usuń kolejno wartości
57, 51
.
Schemat wywołania tych operacji wyglądałby następująco:
Do realizacji szkiców można wykorzystać na przykład pakiet Graphviz lub LaTeX.
W ramach niniejszego zadania domowego nie jest wymagana implementacja poszczególnych drzew. Operacje można "policzyć" na kartce i na tej podstawie bezpośrednio przygotować szkice.
Przykład zapisu drzewa w języku DOT (Graphviz)
Przykład generowania szkicu drzewa za pomocą TikZ/LaTeX
Pomocne narzędzia
Na stronie viz-js.com można poeksperymentować z zapisem w języku DOT bezpośrednio w przeglądarce, bez konieczności instalacji pakietu Graphviz.
VisuAlgo zawiera interaktywne wizualizacje drzewa BST, AVL i wielu innych struktur danych i algorytmów.
W repozytorium przygotowałem skrypt w Pythonie, który pozwala przyspieszyć generowanie wykresów za pomocą XeLaTeX-u.
Forma dostarczenia wyników
Proszę wgrać wynikowe pliki do repozytorium oznaczając je jednoznacznie co do kolejności (np. bst-00.png
, ...
, bst-10.png
) lub scalając w jeden obraz/PDF. Nie jest konieczne załączanie plików pomocniczych czy implementacji drzew. Do wizualizacji można wykorzystać również inne dowolne narzędzia. W ostateczności może nimi być kartka i ołówek, ale preferowane są wersje elektroniczne.
Last updated