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