Implementacja algorytmów sortowania zadanie

0

Witam. Mam za zadanie zaimplementować algorytmy sortowania(bąbelkowe, wstawianie, quicksort, przez zliczanie Tablic o wymiarach 1000, 10 000, 50 000, 100 000, 1 000 000, 10 000 000. Liczby są losowane z przedziału od 1-2000 ( dla 3ch pierwszych), 1-50 000 dla 3ch ostatnich,sortowanie rosnące i malejące). Po tym mam zliczyć dla każdego ilość porównań,przestawień i czas wykonania. Potem zrobić analizę w excelu i porównać z notacją dużego O. Nie oczekuję rozwiązania tylko pomocy i naprowadzenia. Mniej więcej znam każdy z algorytmów tylko nie wiem jak zacząć. Pozdrawiam :)

8

Skoro mniej więcej znasz każdy z algorytmów to może zacznij od ich implementacji?

0
lukascode napisał(a):

Skoro mniej więcej znasz każdy z algorytmów to może zacznij od ich implementacji?

+1

Wato podkreślić, aby nie w main(), tylko wydzielone do klas (idealnie, jakby każde konkretne sortowanie implementowało wspólnego "przodka" - klasa lub interfejs)
Zaimplementować, wytestowac każdy z osobna, na początek bez analizy porównawczej.

abstract class Sortowanie {
   protected int iloscPorownan;
   protected int iloscPrzestawien
   private long t0;
   protected long czas;

   abstract void sortuj(...);

   void test(){
     t0 = nanosec ...
     sortuj();
     long t9 = nanosec ...
   }
   
}
1

Najpierw je zaimplementuj, a potem w wyszukiwarce:
counting quicksort comparisons java, albo coś podobnego, wydaje sie, że, quicksort będzie najtrudniejszy...

0

W sensie masz paraliż decyzyjny?

szuszubezuszu napisał(a):

tylko nie wiem jak zacząć. Pozdrawiam :)

Od jednej rzeczy. Np. zaimplementuj tylko jeden algorytm na początek dla tablicy 10 elementowej (łatwiej będzie przetestować). Bez żadnego losowania, zliczania porównań, bez żadnego Excela itp. Potem dorób drugą rzecz (np. drugi algorytm. Ale niekoniecznie, bo może tą "drugą rzeczą" będzie np. "losowanie liczb". Cokolwiek). Tak, żeby powoli sobie to rozwijać.

1 użytkowników online, w tym zalogowanych: 0, gości: 1