Projekt 2 - specyfikacja
Transkrypt
Projekt 2 - specyfikacja
Algorytmy i struktury danych semestr zimowy 2016/2017 Projekt II. Cel projektu: wykonanie aplikacji w języku Java bez wykorzystania gotowych klas, w której zastosowane zostaną algorytmy poznane na kursie Algorytmy i struktury danych I. Na projekt składa się działająca aplikacja oraz sprawozdanie, w którym zostaną opisane najważniejsze elementy aplikacji oraz wybrane algorytmy i ich analiza wraz z wynikami testów. Student wybiera jeden z poniższych tematów projektów. Drzewa BST: Za realizację poniższych zadań student może uzyskać maksymalnie ocenę dobry. Aplikacja wykonana przez studenta ma umożliwiać: 1. dodawanie i usuwanie elementów drzewa BST; 2. wyświetlanie elementów drzewa BST w porządku inorder, preorder i postorder; 3. utworzenie losowego drzewa BST.- drzewo należy skonstruować poprzez wstawianie kluczy w losowej kolejności do początkowo pustego drzewa. 4. sortowanie kluczy z wykorzystaniem drzewa BST. 5. obliczanie wysokości drzewa BST. Sprawozdanie musi także zawierać: analizę złożoności obliczeniowej algorytmu sortowania (pkt. 4); analizę średniej wysokości losowo zbudowanego drzewa BST; analizę kosztów wykonania podstawowych operacji na drzewie BST. Drzewa czerwono-czarne: Za realizację poniższych zadań student może uzyskać ocenę bardzo dobrą. Aplikacja wykonana przez studenta ma umożliwiać: 1. dodawanie i usuwanie elementów drzewa czerwono-czarnego; 2. wyświetlanie elementów drzewa czerwono-czarnego w porządku inorder, preorder i postorder; 3. utworzenie losowego drzewa czerwono-czarnego- drzewo należy skonstruować poprzez wstawianie kluczy w losowej kolejności do początkowo pustego drzewa. 4. wyszukiwania kluczy z wykorzystaniem drzewa czerwono-czarnego. Sprawozdanie musi także zawierać: analizę złożoności obliczeniowej wyszukiwania elementów w drzewach czerwonoczarnych; analizę kosztów wykonania podstawowych operacji na drzewach czerwono-czarnych.