Mierzenie czasów wykonania

0

Instrukcje
Proszę napisać program, który mierzy czas wykonania algorytmów sortowania przez wybór i bąbelkowego dla tablicy liczb całkowitych (z przedziału od 1 do 1000) o rozmiarze N. Proszę zmierzyć czasy dla N=100, N=1000, N=10000.

Program ma najpierw generować tablicę (kolejno o podanych rozmiarach N), a następnie sortować ją (a raczej jej kopię) obiema metodami wraz ze zmierzeniem czasu każdej z metod.

Wynikiem działania programu mają być 3 informacje:
N: {tutaj podajemy 1000, 10000, 100000)
czas sortowania metodą bąbelkową: (tu podajemy zmierzony czas dla sortowania metodą bąbelkową}
czas sortowania metodą przez wybór: (tu podajemy zmierzony czas dla sortowania metodą bąbelkową}

Zalecane jest aby wyniki były generowane przez jeden program.
Jako rozwiązanie należy dostarczyć kod przesłać oraz zrzut ekranu z wykonaniem.

PROSZE O POMOC

4

@kayoken: To co tu zamieściłeś wygląda jasno na zadanie które ktoś Ci zlecił. Na forum dostaniesz pomoc, jeśli pokażesz co już sam zrobiłeś, jaki masz problem, albo gdzie utknąłeś. Ale raczej nikt Ci nie zrobi tego zadania za Ciebie.

Więc - co już zrobiłeś? :)

1
kayoken napisał(a):

PROSZE O POMOC

pomoc z czym?

5

Zapisuj datetime.datetime.now() przed i po wykonaniu algorytmu. Potem wystarczy wypisać różnicę - odjąć od siebie obydwa obiekty.

0

@randomize111: nie mam pojęcia jak zaimplementować mierzenie czasu

@TomRiddle:

from random import randint
 
 def mymax(tab):
     maxi = tab[0]
     for i in tab:
         if maxi < i:
             maxi = i
 
     return maxi
 
 def mysort(tab):
     sort_tab = []
     for l in range (1, len(tab)+1):
         sort_tab.append(mymax(tab))
         tab.remove(mymax(tab))
 
     return sort_tab
 
 tab = []
 N = 20
 for _ in range(N):
     tab = tab + [randint(1,100)]
 print (tab)
 sort_tab = mysort(tab)
 print(sort_tab)
0
kayoken napisał(a):

@randomize111: nie mam pojęcia jak zaimplementować mierzenie czasu

Przeczytaj moją odpowiedź i zaimplementuj.

0

@kayoken: wciskając ctrl+alt+c robi się znak ć

0

@kayoken: tak, w edytorze. przeglądarka chrome

1

@kayoken:

kayoken napisał(a):

@randomize111: nie mam pojęcia jak zaimplementować mierzenie czasu

Moduł timeit

Masz tu nawet artykuł jak to zrobić - https://realpython.com/sorting-algorithms-python/

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