[Dev C++] Ile czasu pozostało do zakończenia programu.

0

Mam napisane algorytmy sortujące (np. quicksort, mergesort czy te wolniejsze jak np. bubblesort). Wiem, co zrobić, aby algorytmy te posortowały zadaną ilość liczb i potem wyświetlić czas (w sekundach), jaki im zajęło posortowanie zadanej ilości liczb.

Potrzebuję teraz zrobić coś takiego, aby w zależności od złożoności algorytmów był wyświetlany komunikat "Pozostało X sekund do końca obliczeń".

Nie wiem za bardzo jak się za to zabrać. Czy ktoś mógłby podrzucić jakiś pomysł lub może ma gdzieś pod ręką coś podobnego?

0

Proste. Na przykładzie bubble sort:
Złożoność O(n2). Jeśli n kroków sortuje się w czasie t, to an kroków sortuje się w czasie a2t.

Podczas sortowania zliczasz kroki. Jeśli jesteś w n-tym kroku, i upłynął czas t, to można szacować, że cały proces sortowania tablicy m-elementowej (an=m => a=m/n) będzie trwać (m/n)^2t.

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