Jämför en onlineshoppingupplevelse
Nu får du se algoritmeffektivitet i praktiken! Kör den medföljande koden och jämför prestandan hos fyra olika algoritmer – bubbelsortering och linjärsökning, respektive snabbsortering och binärsökning.
Ingen kodning krävs. Justera en parameter och se hur algoritmerna presterar under olika förutsättningar. Ändra parametern num_items längst upp i koden. (Den här parametern simulerar hur många artiklar som finns i en onlinebutiks produktkatalog.)
Kör koden och jämför resultaten – lägg märke till hur mycket längre tid ett alternativ tar jämfört med det andra när vi ökar från 1 000 till 10 000 objekt.
Fundera på hur stor skillnad det skulle göra i användarupplevelsen om en e-handelssite använde det ena algoritmsparet i stället för det andra när den sorterar artiklar efter pris.
Den här övningen är en del av kursen
Grundläggande datavetenskap
Övningsinstruktioner
- Ändra
num_itemstill valfritt tal för att jämföra. (Exempel: föreställ dig att www.amazon.com har 1 000 artiklar – sätt dånum_items = 1000).
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Change this parameter
num_items = 1000
####### Leave the code below this line alone ########
catalog = [random.randint(0, num_items) for _ in range(num_items)]
total_time_bubble_linear = time_bubble_sort_and_linear_search(catalog)
catalog = [random.randint(0, num_items) for _ in range(num_items)]
total_time_quick_binary = time_quick_sort_and_binary_search(catalog)
df = pd.DataFrame({"Method": ["Bubble Sort + Linear Search", "Quick Sort + Binary Search"],
"Total Time (seconds)": [total_time_bubble_linear, total_time_quick_binary]})
print(df)