Algorytmy i Struktury Danych Projekt 1
Transkrypt
Algorytmy i Struktury Danych Projekt 1
Algorytmy i Struktury Danych Projekt 1 Termin oddania: Wtorek, 2005-03-15, godz. 2359 dla grupy Środowej, Środa, 2005-03-16, godz. 1559 dla grupy Czwartkowej. Przez oddanie rozumiem moment otrzymania przeze mnie maila zawierającego pliki z kodami źródłowymi oraz sprawozdanie w postaci dokumentu PDF. Za pliki skompresowane (zip, rar, ace, bz2 i inne), pliki wykonywalne (exe, ELF, a.out), binarki (obj, .o, pliki projektów) oraz dokumenty w formatach innych niż pdf (zwłaszcza doc, rtf, sxw, txt) odejmuję po 1 punkcie za każdy niedopuszczalny format, z wyjątkiem doc – za który odejmuję 2 punkty. Poza tym tak przesłanych dokumentów nie czytam, co powoduje dodatkową konsekwencję w postaci kary 1 punkta za spóźnione oddanie projektu. Następnie i tak trzeba oddać projekt w postaci akceptowalnej przeze mnie. Projekt polega na przygotowaniu procedury, która będzie pobierać na wejściu n-elementową tablicę liczb całkowitych, zaś na wyjściu podawać medianę (n/2-tą statystykę pozycyjną) dla tej tablicy. Następnie należy przygotować program (tzw. driver), który będzie wywoływał wspomnianą procedurę dla różnych liczb n i mierzył czasy jej wykonania. W oparciu o wyniki działania programu należy sporządzić wykres zależności czasu działania programu od liczby n. Maksymalna liczba elementów tablicy powinna być tak dobrana, by program wykonywał się ok. kilkudziesięciu sekund. Krok zwiększania n-a w driverze powinien być tak dobrany, by wykonać ok. 500 pomiarów. Punktacja: do 6 pkt. za kod (oceniana modularność, układ, wcięcia, komentarze, estetyka i ogólna przejrzystość kodu), do 4 pkt. za sprawozdanie (1 pkt. za wykres wraz z krótkim komentarzem, do 3 pkt. za dodatkową analizę teoretyczną i praktyczną czasu wykonywania się procedury znajdującej medianę, jej wrażliwości na dane (optymistyczne i pesymistyczne czasy wykonania), porównanie jej z innymi dostępnymi na rynku). Projekty przesyłamy na: [email protected] Nie oceniam jakości zastosowanych algorytmów znajdowania mediany. Nie oceniam efektywności kodowania algorytmów. Jan Pustelnik